博客
关于我
GCD学习之dispatch_suspend/dispatch_resume
阅读量:739 次
发布时间:2019-03-22

本文共 399 字,大约阅读时间需要 1 分钟。

dispatch_suspend/dispatch_resume

dispatch_suspend和dispatch_resume

当Dispatch Queue中处理任务数量过多时,有时可能需要暂停已添加到队列中的任务运行。这种情况通常发生在关键任务被阻止(比如被异常捕获)时。

与之对应的解决方案就是挂起Dispatch Queue。当恢复时,这些被暂停的任务就会继续执行。

具体操作方式如下。

dispatch_suspend(queue);

功能恢复

dispatch_resume(queue);

需要注意的是,这些函数不会影响已经在执行中的任务。当使用dispatch_suspend时,尚未处理的新任务会立即停止。dispatch_resume则会让这些被暂停的任务恢复执行。

GCD工具集中的这两个函数非常实用,能够帮助开发者在关键任务被中断时,通过简单的方式控制队列任务执行流程。

转载地址:http://kmggz.baihongyu.com/

你可能感兴趣的文章
OS2ATC2017:阿里研究员林昊畅谈操作系统创新与挑战
查看>>
OSCACHE介绍
查看>>
SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
查看>>
OSChina 周五乱弹 ——吹牛扯淡的耽误你们学习进步了
查看>>
SQL--mysql索引
查看>>
OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
查看>>
OSChina 周日乱弹 —— 2014 年各种奇葩评论集合
查看>>
OSChina 技术周刊第十期,每周技术抢先看!
查看>>
oscp--python
查看>>
OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
查看>>
OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
查看>>
osgearth介绍
查看>>
OSGi与Maven、Eclipse PlugIn的区别
查看>>
Osgi环境配置
查看>>
OSG——选取和拖拽
查看>>
OSG中找到特定节点的方法(转)
查看>>
OSG学习:C#调用非托管C++方法——C++/CLI
查看>>
OSG学习:OSG中的智能指针
查看>>
OSG学习:OSG组成(一)——组成模块
查看>>
OSG学习:OSG组成(三)——组成模块(续):OSG核心库中的一些类和方法
查看>>