- (void)groupEvent{
//创建线程
dispatch_group_t group =dispatch_group_create();
dispatch_queue_t globalQueue=dispatch_get_global_queue(, ); dispatch_group_enter(group); //模拟多线程耗时操作
dispatch_group_async(group, globalQueue, ^{
sleep();
NSLog(@"%@---block1结束。。。",[NSThread currentThread]);
dispatch_group_leave(group);
}); NSLog(@"%@---1NSLOG结束。。。",[NSThread currentThread]); dispatch_group_enter(group);
//模拟多线程耗时操作
dispatch_group_async(group, globalQueue, ^{
sleep();
NSLog(@"%@---block2结束。。。",[NSThread currentThread]);
dispatch_group_leave(group);
}); NSLog(@"%@---2NSLOG结束。。。",[NSThread currentThread]);
//线程全部结束
dispatch_group_notify(group, dispatch_get_global_queue(, ), ^{
NSLog(@"%@---全部结束。。。",[NSThread currentThread]);
}); }

上面的代码的后台输出是:

-- ::27.853 CPMNetworking[:] <NSThread: 0x600000068600>{number = , name = main}---1NSLOG结束。。。
-- ::27.856 CPMNetworking[:] <NSThread: 0x600000068600>{number = , name = main}---2NSLOG结束。。。
-- ::30.923 CPMNetworking[:] <NSThread: 0x608000263f00>{number = , name = (null)}---block1结束。。。
-- ::30.930 CPMNetworking[:] <NSThread: 0x6000002647c0>{number = , name = (null)}---block2结束。。。
-- ::30.930 CPMNetworking[:] <NSThread: 0x6000002647c0>{number = , name = (null)}---全部结束。。。

可以发现,因为block内被加了休眠sleep,所以block外的NSLOG操作被先执行了。而在block1被执行完毕后,block2和线程结束的部分的内容才被执行

最新文章

  1. 反编译apk
  2. 01 Linux入门介绍
  3. How to (seriously) read a scientific paper
  4. HTTP状态码(响应码)
  5. JAVA读取XML文件数据
  6. Qt之镜像旋转
  7. LoadRunner学习记录--安装遇到的问题一
  8. Apache+php+mysql+phpadmin搭建
  9. javascript图片延迟加载(转载)
  10. QT QTextBrowser
  11. Python中的re模块--正则表达式
  12. css 自制一些小特效
  13. Mac os系统gdb调试器的安装与使用
  14. springboot(二十三)Springboot2.X响应式编程
  15. UI5-学习篇-17-云端WEB IDE开发
  16. centos7 Linux 安装jdk1.8
  17. 996.icu 事件后
  18. 从ext4将mysql数据目录移动至lustre出现(InnoDB: Unable to lock ./ibdata1, error: 38.)
  19. ssh连接linux服务器不断开- &quot;Write failed: Broken pipe&quot;
  20. lambda表达式/对象引用计数

热门文章

  1. VS打开项目 提示Asp.net4.0未在web服务器上注册的解决方案
  2. java HttpClient设置代理
  3. 用SQL表达连接与外连接
  4. 你们都在用IntelliJ IDEA吗?或许你们需要看一下这篇博文
  5. 【nginx】配置
  6. 解决can&#39;t connect to redis-server
  7. 【转载】PyTorch系列 (二):pytorch数据读取
  8. PostgreSQL学习笔记(一)-安装PostgreSQL
  9. python多任务抓取图片
  10. JAVA学习笔记(2)—— java初始化三个原则