- (void)forDemo{//全都是在主线程操作的for (NSInteger i = 0; i<10; i++) {NSLog(@"--%@", [NSThread currentThread]);}/*2018-06-27 11:33:44.226664+0800 5线程操作-GCD-快速迭代[7715:77291] --<NSThread: 0x60800006a9c0>{number = 1, name = main}2018-06-27 11:33:44.226845+0800 5线程操作-GCD-快速迭代[7715:77291] --<NSThread: 0x60800006a9c0>{number = 1, name = main}2018-06-27 11:33:44.227048+0800 5线程操作-GCD-快速迭代[7715:77291] --<NSThread: 0x60800006a9c0>{number = 1, name = main}2018-06-27 11:33:44.227711+0800 5线程操作-GCD-快速迭代[7715:77291] --<NSThread: 0x60800006a9c0>{number = 1, name = main}2018-06-27 11:33:44.227796+0800 5线程操作-GCD-快速迭代[7715:77291] --<NSThread: 0x60800006a9c0>{number = 1, name = main}2018-06-27 11:33:44.227927+0800 5线程操作-GCD-快速迭代[7715:77291] --<NSThread: 0x60800006a9c0>{number = 1, name = main}2018-06-27 11:33:44.227986+0800 5线程操作-GCD-快速迭代[7715:77291] --<NSThread: 0x60800006a9c0>{number = 1, name = main}2018-06-27 11:33:44.228046+0800 5线程操作-GCD-快速迭代[7715:77291] --<NSThread: 0x60800006a9c0>{number = 1, name = main}2018-06-27 11:33:44.228111+0800 5线程操作-GCD-快速迭代[7715:77291] --<NSThread: 0x60800006a9c0>{number = 1, name = main}2018-06-27 11:33:44.228165+0800 5线程操作-GCD-快速迭代[7715:77291] --<NSThread: 0x60800006a9c0>{number = 1, name = main}*/
}-(void)GCD_apply{/**参数1:size_t iterations 便利次数参数1:dispatch_queue_t  _Nonnull queue 队列:只能穿进去并发队列,主队列 会死锁 ,串行队列和for循环一样效果在主队列,参数1:<#^(size_t)block#> ^(size_t 索引) {}主队列也会参与这个操作, 并发执行*/dispatch_apply(10, dispatch_get_global_queue(0, 0), ^(size_t index) {NSLog(@"dispatch_get_global_queue ---- %zd--%@", index,[NSThread currentThread]);});dispatch_queue_t queue = dispatch_queue_create("并发", DISPATCH_QUEUE_CONCURRENT);dispatch_apply(10, queue, ^(size_t index) {NSLog(@"DISPATCH_QUEUE_CONCURRENT ---- %zd--%@", index,[NSThread currentThread]);});/*2018-06-27 11:41:46.924361+0800 5线程操作-GCD-快速迭代[7877:85649] 0--<NSThread: 0x608000074ac0>{number = 1, name = main}2018-06-27 11:41:46.924467+0800 5线程操作-GCD-快速迭代[7877:85688] 2--<NSThread: 0x60400007de40>{number = 4, name = (null)}2018-06-27 11:41:46.924468+0800 5线程操作-GCD-快速迭代[7877:85691] 3--<NSThread: 0x60c000465cc0>{number = 5, name = (null)}2018-06-27 11:41:46.924469+0800 5线程操作-GCD-快速迭代[7877:85690] 1--<NSThread: 0x608000265a00>{number = 3, name = (null)}2018-06-27 11:41:46.924526+0800 5线程操作-GCD-快速迭代[7877:85649] 4--<NSThread: 0x608000074ac0>{number = 1, name = main}2018-06-27 11:41:46.924554+0800 5线程操作-GCD-快速迭代[7877:85688] 5--<NSThread: 0x60400007de40>{number = 4, name = (null)}2018-06-27 11:41:46.924568+0800 5线程操作-GCD-快速迭代[7877:85691] 6--<NSThread: 0x60c000465cc0>{number = 5, name = (null)}2018-06-27 11:41:46.924602+0800 5线程操作-GCD-快速迭代[7877:85649] 8--<NSThread: 0x608000074ac0>2018-06-27 11:41:46.924639+0800 5线程操作-GCD-快速迭代[7877:85688] 9--<NSThread: 0x60400007de40>{number = 4, name = (null)}{number = 1, name = main}2018-06-27 11:41:46.924604+0800 5线程操作-GCD-快速迭代[7877:85690] 7--<NSThread: 0x608000265a00>{number = 3, name = (null)}*/
}

转载于:https://www.cnblogs.com/qingzZ/p/9237408.html

OC 线程操作 - GCD快速迭代相关推荐

  1. C++11(及现代C++风格)和快速迭代式开发

    过去的一年我在微软亚洲研究院做输入法,我们的产品叫"英库拼音输入法" (下载Beta版),如果你用过"英库词典"(现已更名为必应词典),应该知道"英库 ...

  2. iOS 线程操作库 PromiseKit

    iOS 线程操作库 PromiseKit 官网:http://promisekit.org/ github: https://github.com/mxcl/PromiseKit/tree/maste ...

  3. iOS子线程操作总结

    子线程同步与异步: dispatch_sync(),同步添加操作.他是等待添加进队列里面的操作完成之后再继续执行. dispatch_queue_t concurrentQueue = dispatc ...

  4. 跨线程操作无效:从创建该线程的线程以外的线程访问控件

    我有一个场景. (Windows窗体,C#.. NET) 有一个主窗体可以承载一些用户控件. 用户控件执行一些繁重的数据操作,因此,如果我直接调用UserControl_Load方法,则UI在加载方法 ...

  5. Linux线程操作以及相关知识

    1 线程 ◼ 与进程(process)类似,线程(thread)是允许应用程序并发执行多个任务的一种机 制.一个进程可以包含多个线程.同一个程序中的所有线程均会独立执行相同程序,且共 享同一份全局内存 ...

  6. iOS学习笔记-109.多线程08——CGD快速迭代

    多线程08CGD快速迭代 一说明 二for迭代 三GCD的快速迭代 四使用for迭代移动文件示例 1 说明 2 示例代码 3 图示与结果 五使用for迭代移动文件示例 1 示例代码 2 图示与结果 多 ...

  7. 网上商城代码实现_中国中铁网上商城转型敏捷开发模式,实现快速反应、快速迭代...

    △北研中心的同事给业务部门演示迭代成果中国中铁网上商城成功转型敏捷开发模式,实现快速反应.快速迭代.切实解决公司内部以及合作方的业务需求,更好服务多样化的客户群体.经历了两次每2周为一迭代的短期快速开 ...

  8. Kettle transformation 操作内容快速查询

    Kettle transformation 操作内容快速查询 背景: kettle 版本: 6.0 资源库类型:sql server 数据库  需求:快速查找整个项目中所有涉及某些关键词的表输入.sq ...

  9. linux 线程操作问题undefined reference to ‘pthread_create‘的解决办法(cmake)

    linux 线程操作问题undefined reference to 'pthread_create'的解决办法(cmake) 参考文章: (1)linux 线程操作问题undefined refer ...

最新文章

  1. 秦州:西瓜书 + 南瓜书 吃瓜系列 12. 聚类
  2. 为什么可以说Java语言是准动态语言?
  3. 拼多多就知乎不当评论致歉!相关部门已展开调查
  4. 2014年工作中遇到的10个问题:221-230
  5. linux命令关闭电脑,SELinux关闭命令详解linux操作系统 -电脑资料
  6. leetcode 214. 最短回文串 解题报告
  7. armadillo 库加入项目中程序卡死不运行的问题
  8. 如何检测被锁住的Oracle存储过程及处理办法汇总(转)
  9. react-native开发安卓app相关使用总结
  10. 官网下载mysql源码
  11. 快启动win10pe制作详细图文教程
  12. PayPal开发文档整理(2)- 开发者文档介绍
  13. win8桌面计算机图标不见,win8桌面图标消失,win8桌面图标设置方法
  14. linux设置sfq队列参数,Linux内核中流量控制(5)
  15. pytorch transforms图像增强
  16. php扇形分布图,php绘制一个扇形的方法
  17. 初学者如何从零学习人工智能?看完你就懂了
  18. 题目1025:最大报销额(动态规划之01背包问题)
  19. 阿里董事局主席张勇:数字化建设将成为新发展方向
  20. 基于单片机的俄罗斯方块系统设计(#0511)

热门文章

  1. 这次来个BGP反射器的简单小实验
  2. java拦截器_Java工程师年底跳槽高潮即将到来,斩获满意offer的必备技巧(二)
  3. “你的手机上未安装应用程序”的解决方案
  4. kux转换为mp4软件_kux2mp4(优酷kux转换为mp4软件)下载-kux2mp4(优酷kux转换为mp4软件)免费版下载v2021...
  5. python函数参数定义顺序_Python函数定义-位置参数-返回值
  6. udp java 检测连接_简单的JAVA UDP连接测试
  7. image vb6 图片自适应_请问如何实现图片在窗体上的大小自适应?
  8. mysql的函数用途_MYSQL小函数大用途之-------FIND_IN_SET
  9. python下载器2
  10. webService学习5:Eclipse的TCP/IP工具