【发布时间】:2010-10-26 02:56:00
【问题描述】:
假设我正在异步调度中运行一些代码。 ..有没有办法在它完成之前终止它创建的线程?比如当用户点击取消时
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//start doing something here.. break bofore it finishes?
dispatch_async(dispatch_get_main_queue(), ^{
//main thread stuff..
});
});
【问题讨论】:
-
很抱歉。所以简而言之,我应该只使用一个标志。
-
是的,设置一个标志来请求取消,并让您的异步操作在可以安全取消的指定点检查取消状态(确保进行任何必要的清理)。
-
点击这里进行完整讨论..stackoverflow.com/questions/5449469/…
标签: iphone objective-c multithreading grand-central-dispatch