我想一个线程完成后要调度线程。
可能吗 ? 怎么样?
例如(指定我的需要)
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
// 1. response - schedule myThread
// 2. response - schedule a new thread which will be executed after myThread
// 3. response - schedule a new thread which will be executed after second thread
// .....
}
如果你使用NSOperations你可以使用addDependency:方法来指定操作的依赖。
NSInvocationOperation如果你走这条路线将可能对你有用。
编辑:我只是重新阅读的主题和你的iPhone,所以你不必块,但供参考,如果你有可用块, NSBlockOperation甚至更好。
需要注意的是当使用这些方法来执行异步操作(并假设在他们使用自动释放的代码),你会负责实例化一个NSAutoreleasePool
当你的方法开始运行,并释放/排水它在退出。
(1)您可以查询线程isFinished
财产。
(2)您可以注册您的调度/控制对象接收线程NSThreadWillExitNotification
通知。 为了更精确的控制,你也可以继承NSThread和发送通知的最后一幕线程停止之前。 然后在你的控制对象通知处理程序可以轮询isFinished
,以确保其在启动一个线程之前完成。
见线程编程指南和NSThread类指南 。