2011-10-15 169 views
3

我有下载应用程序。 应用程序有两个线程。主线程包含所有的UI。 其他线程用于下载文件。NSThread暂停和恢复

窗口上有3个按钮。 开始下载 - 开始下载 取消下载 - 取消下载

我一直在使用下面的代码创建的下载线程

[NSThread detachNewThreadSelector:@selector(StartDownload) toTarget:self withObject:nil]; 

功能类似于当“暂停下载”用户点击按钮,消息框会显示 给用户询问“你要取消下载(是/否)?”此时应暂停下载&下载。如果你说不能取消下载,那么我想恢复下载。

问题是我不知道用户将花多少时间来回复消息框。

如何使用NSThread挂起&简历?

由于提前, Vaibhav的

回答

0

您可以使用标准的Unix睡眠()和usleep()函式呼叫。或者也可以使用NSThread类的方法[NSThread sleepForTimeInterval:]。这将线程休眠一段给定的时间间隔。

+ (void)sleepForTimeInterval:(NSTimeInterval)ti 

您可以在消息中显示时间,例如, 1min后下载将取消。或显示一些计数器。 注意:当线程被阻塞时,没有运行循环处理发生。