ParseSourceCodeStudy
ParseSourceCodeStudy copied to clipboard
有疑问,Dispatch Source “帮” Dispatch Queue 实现暂停和恢复功能
dispatch queue本来就可以挂起和恢复,为什么说要借助dispatch source呢?
帮忙详细描述下“dispatch queue本来就可以挂起和恢复”,最好能贴一下代码,我看下咱们两个讲的东西是不是有出入。
暂停恢复:使用dispatch_suspend() 和 dispatch_resume() 将队列挂起
取消:通过植入标识对单个任务进行“取消”
__block BOOL cancelled = NO;
void (^task)(BOOL) = ^() {
if (cancelled) {
return;
}
//dosomething
};
也就是文中的通过property(running)来植入“取消”
@ChenYilong 有空的话帮忙看下,哈哈