GCD运行dispatch_block,并取消(dispatch_block_flags_t flags)
来源:互联网 发布:数组和指针作为形参 编辑:程序博客网 时间:2024/06/05 18:52
dispatch_block_t block = dispatch_block_create(DISPATCH_BLOCK_BARRIER, ^{ NSLog(@"do something"); }); dispatch_async(_queue,block); dispatch_block_cancel(block);
DISPATCH_ENUM(dispatch_block_flags, unsigned long, DISPATCH_BLOCK_BARRIER DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x1, DISPATCH_BLOCK_DETACHED DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x2, DISPATCH_BLOCK_ASSIGN_CURRENT DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x4, DISPATCH_BLOCK_NO_QOS_CLASS DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x8, DISPATCH_BLOCK_INHERIT_QOS_CLASS DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x10, DISPATCH_BLOCK_ENFORCE_QOS_CLASS DISPATCH_ENUM_API_AVAILABLE(macos(10.10), ios(8.0)) = 0x20,);
@typedef dispatch_block_flags_t
传递给dispatch_block_createfunctions的标志。
*
@const DISPATCH_BLOCK_BARRIER
指示调度块对象在提交给DISPATCH_QUEUE_CONCURRENT队列时应该充当阻挡块的标志。有关详细信息,请参阅dispatch_barrier_async()。当调度块对象直接调用时,此标志无效。
*
@const DISPATCH_BLOCK_DETACHED
指示调度块对象应当与当前执行上下文属性(如QOS类,os_activity_t和当前IPC请求属性(如果有))脱离关联的标志。如果直接调用,块对象将在调用线程的持续时间内(在应用分配给块对象的属性之前,如果有的话)从调用线程中移除这些属性。如果提交给队列,将使用队列的属性(或专门分配给块对象的任何属性)执行块对象。
*
@const DISPATCH_BLOCK_ASSIGN_CURRENT
标志表示应为分派块对象分配当前创建块对象时的当前执行上下文属性。这适用于QOS类,os_activity_t和当前IPC请求属性(如果有)等属性。如果直接调用,块对象将在块体的持续时间内将这些属性应用于调用线程。如果将块对象提交给队列,则此标志将替换将提交的块实例与提交时当前的执行上下文属性关联的默认行为。如果使用DISPATCH_BLOCK_NO_QOS_CLASS或dispatch_block_create_with_qos_class()分配了特定的QOS类,那么QOS类将优先于此标志指示的QOS类分配。
*
@const DISPATCH_BLOCK_NO_QOS_CLASS
指示调度块对象不应被分配QOS类的标志。如果直接调用,块对象将与调用线程的QOS类一起执行。如果将块对象提交给队列,则会取代将提交的块实例与提交时的当前QOS类关联的默认行为。如果使用dispatch_block_create_with_qos_class()分配了特定的QOS类,则忽略此标志。
*
@const DISPATCH_BLOCK_INHERIT_QOS_CLASS
指示提交给队列的调度块对象的执行的标志应该优选分配给该块的QOS类(与提交时的块相关的)的QOS类。只有当有问题的队列没有分配的QOS类时,后者才会被使用,只要这样做不会导致QOS类低于从队列的目标队列继承的QOS类。当调度块对象被提交给队列进行异步执行时,这个标志是默认的,当调度块对象被直接调用时,这个标志是没有效果的。如果DISPATCH_BLOCK_ENFORCE_QOS_CLASS也被传递,它将被忽略。
*
@const DISPATCH_BLOCK_ENFORCE_QOS_CLASS
指示提交给队列的调度块对象的执行的标志应当优先于分配给该队列的QOS类(与提交时与该块相关联的对应的QOS类),只要这样做将会不会导致较低的QOS级别。将调度块对象提交到同步执行队列或直接调用调度块对象时,此标志是缺省值。
- GCD运行dispatch_block,并取消(dispatch_block_flags_t flags)
- GCD系列:代码块(dispatch_block)
- 如何取消GCD任务
- flags ()
- Flags
- Flags
- 开机运行及取消开机运行
- iphone 设置程序运行取消电池状态栏
- eclipse如何取消进度条台运行
- 取消正在运行的存储过程
- PHP---运行时出现waring如何取消
- 取消电脑开机自动运行chkdsk
- android 取消AsyncTask继续运行的解决方案
- Xcode8取消运行时打印的数据
- eclipse运行时取消console窗口弹出
- Android EditText取消焦点并关闭输入法
- Android EditText取消焦点并关闭输入法
- activity设置透明并取消跳转动画
- 字符解码时加号解码为空格问题探究
- 文章标题
- Linux 多线程编程
- Java调用Python测试成功的记录
- 手机内部储存的绝对地址
- GCD运行dispatch_block,并取消(dispatch_block_flags_t flags)
- http server 搭建攻略
- notepad 记事本的问题
- 第十四周 【项目3
- HTML5 移动端 实现滚动条
- 简单的双色球随机选择
- 第十五周项目1 验证算法(3)交换排序之冒泡排序
- java 微信自定义菜单中文乱码问题
- 第四周 【项目4