- 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/
我需要在为它们创建的自定义线程上执行一小组相关任务。这些任务将从不同的类(class)安排。我打算使用 GCD 的 dispatch_queue_create 创建自定义线程并在其上安排任务。请注意,
目前在我的代码中正在使用 dispatch_async(dispatch_queue_create("myQueue", nil) , { () -> Void in 现在我有必要在我的代码中调用此代
在 Apple 的示例代码中,AVCam-iOS: Using AVFoundation to Capture Images and Movies ,我注意到以下一行: // Communicate
有一个加载的 View 和一个创建的串行调度队列,在后台加载大量内容并且效果很好。问题是,当我来回导航到该 View 时,会再次创建一个新队列,然后我有多个东西在做完全相同的工作。 - (void)v
我正在编写一个中等复杂的 iOS 程序,它需要有多个线程来执行一些较长的操作(解析、连接到网络等)。但是,我对 dispatch_get_global_queue 和 dispatch_queue_c
我在我的 iOS 应用程序中创建了这个线程,我想停止它: dispatch_queue_t myDispatch = dispatch_queue_create("com.myqueue", DISP
我有以下代码 dispatch_queue_t dispatch_get_local_queue() { static dispatch_queue_t _queue; static
我正在将一些代码从 C++ 移植到使用 Grand Central Dispatch 的 Swift,我发现 dispatch_queue_create 似乎根本不起作用的奇怪错误。 例如,在我的 C
我声明了一个引用 GCD 队列的属性: @property (assign) dispatch_queue_t backgroundQueue; 在类的 init 方法中我创建了一个串行队列: bac
我是一名优秀的程序员,十分优秀!