GCD

//dispatch_barrier_async使用在并行环境下,
//dispatch_barrier_async添加的任务会在之前的block全部运行完毕之后,才会继续执行,保证线程安全保证对非线程安全的对象进行正确的操作。
//运行完dispatch_barrier_async才会执行后面的任务
//dispatch_barrier_async所在的线程跟前一个任务是同一线程

//延迟执行
dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(5*NSEC_PER_SEC)),dispatch_get_main_queue,dispatch_get_main_queue(),^{
NSLog(@"选择性队列延迟5秒执行");
})
//自定义并行队列
dispatch_queue_t queue=dispatch_queue_create("duoduo",DISPATCH_QUEUE_CONCURRENT);
dispatch_async(queue,^{
NSLog(@"dispatch_async-1-%@",[NSThread currentThread]);
});
dispatch_async(queue,^{
NSLog(@"dispatch_async-2-%@",[NSTread currentThread]);
});
dispatch_barrier_async(queue,^{
NSLog(@"dispatch_barrier_async-%@",[NSTread currentThread]);
});
dispatch_async(queue,^{
NSLog(@"dispatch_async-3-%@",[NSThread currentThread]);
});
dispatch_async(queue,^{
NSLog(@"dispatch_async-4-%@",[NSThread currentThread]);
});
09BC3DCA-CF0F-475E-B3B8-644FDBCC1B9B.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本篇博客共分以下几个模块来介绍GCD的相关内容: 多线程相关概念 多线程编程技术的优缺点比较? GCD中的三种队列...
    dullgrass阅读 37,959评论 28 236
  • iOS中GCD的使用小结 作者dullgrass 2015.11.20 09:41*字数 4996阅读 20199...
    DanDanC阅读 4,580评论 0 0
  • 本篇博客共分以下几个模块来介绍GCD的相关内容: 多线程相关概念 多线程编程技术的优缺点比较? GCD中的三种队列...
    有梦想的老伯伯阅读 4,628评论 0 4
  • 目录(GCD): 关键词 混淆点 场景应用 总结 1. 关键词 线程概念: 独立执行的代码段,一个线程同时间只能执...
    Ryan___阅读 5,052评论 0 3
  • 为什么要二胎?是因为有钱?是因为有了一个儿子非得再要个女儿?以前我认为是后者!可最近儿子的一些举动让我否定了这个想...
    张乐童阅读 2,656评论 3 0