作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在我的 iOS 应用程序中创建了这个线程,我想停止它:
dispatch_queue_t myDispatch = dispatch_queue_create("com.myqueue", DISPATCH_QUEUE_CONCURRENT);
其中的myDispatch线程分别调用dispatch_global_queue和dispatch_main_queue执行繁重的操作和图形操作。但是为了响应应用程序中的用户操作,可以调用另一个函数,该函数使用另一个与 myDispatch 非常相似的队列。如果 myDispatch 线程终止,则没有问题,但此调用也可能在 myDispatch 线程执行期间发生,因此我的应用程序崩溃,因为两个线程都使用相同的数组。有没有办法在线程终止前停止或终止线程?我想终止当前运行的线程并启动新线程。
最佳答案
如果你想取消/停止后台工作,你应该使用 NSOperation
,因为据我所知,一旦你使用 GCD
发送一个 block ,你就会失去对它的控制。
关于ios - 如何在 iOS7 中停止线程(由 dispatch_queue_create 创建),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23913600/
我是一名优秀的程序员,十分优秀!