NSThread暂停&恢复

时间:2011-10-15 11:54:59

标签: objective-c cocoa

我有下载程序。 应用程序有两个线程。 包含所有UI的主线程。 其他线程用于下载文件。

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

我使用以下代码创建了下载线程

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

功能就像用户点击“暂停下载”按钮一样,将显示消息框 用户询问“你想要取消下载(是/否)?” &安培;此时应暂停下载。如果你说拒绝下载,那么我想继续下载。

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

我如何实现这种暂停& amp;用NSThread恢复?

提前致谢, Vaibhav的

1 个答案:

答案 0 :(得分:0)

您可以使用标准的Unix sleep()和usleep()调用。或者您也可以使用NSThread类方法[NSThread sleepForTimeInterval:]。这会在给定的时间间隔内休眠。

+ (void)sleepForTimeInterval:(NSTimeInterval)ti  

您可以在讯息中显示时间,例如1分钟后下载将取消。或显示一些计数器。 注意:线程被阻止时不会发生运行循环处理。