如何杀死它们不是主线程的所有线程?

时间:2015-09-11 12:56:59

标签: objective-c multithreading objective-c-blocks core-foundation

我在应用程序中使用块进行了许多异步执行。

但是如果某个事件出现在我的应用程序中,我需要杀死它们不是主线程的所有线程。

那么可以停止执行所有块吗?或者换句话说,杀掉他们不是主线程的所有线程?

PS:我试图在NSOperationQueue中执行块,但我的第一个操作并没有在以下时间开始。

1 个答案:

答案 0 :(得分:4)

如果您需要杀死线程来取消操作,那么您可能做错了。 NSOperationQueue或类似的解决方案(比如在你的块中实现取消逻辑)是恕我直言的正确方法。如果您对操作队列有一些问题,请尝试对其进行排序,不要通过创建更糟糕的问题来避免此问题。