//1、GCD 继承自C语言 优点 简单方便

//开启一个子线程处理耗时的操作

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

//在主线程处理UI更新相关的操作

dispatch_async(dispatch_get_main_queue(), ^{

});

});

//延时操作

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(10 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

});

//确保程序只会运行一次,类似于锁

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

});

//确保程序只会运行一次

@synchronized (self) {

}

// 2、NSOperation NSOperationQueue  是对GCD更高一层的封装 可以添加依赖和设置优先级更好的控制和管理线程的并发操作 缺点:操作比GCD稍慢

NSBlockOperation *block=[NSBlockOperation blockOperationWithBlock:^{

}];

NSInvocationOperation *invo=[[NSInvocationOperation alloc]initWithTarget:self selector:@selector(btnOperate) object:nil];

NSOperationQueue *queue=[[NSOperationQueue alloc]init];

//添加依赖,设置操作

[block addDependency:invo];

//设置操作优先级

block.queuePriority=NSOperationQueuePriorityLow;

invo.queuePriority=NSOperationQueuePriorityHigh;

[queue addOperation:block];

[queue addOperation:invo];

//3、NSThread 是一种轻量级的 需要管理线程的生命周期和并发操作

NSThread *thread=[[NSThread alloc]initWithTarget:self selector:@selector(addBtnTypeCss:) object:nil];

//线程的开启

[thread start];

//线程的取消

[thread cancel];

//等到某个日期

[NSThread sleepUntilDate:[NSDate date]];

//设置等待多久唤起

[NSThread sleepForTimeInterval:1];

最新文章

  1. UWP开发之Mvvmlight实践三:简单MVVM实例开发(图文详解付代码)
  2. 【最简单IOC容器实现】实现一个最简单的IOC容器
  3. 整整十年 - Agent Framework for TypeScript 2.0
  4. HTML与CSS入门——第十章 创建用于Web上的图像
  5. Android 贝塞尔曲线
  6. Oracle EBS-SQL (MRP-2):检查期间主计划录入记录数.sql
  7. 使用Maven完成自动化打包并部署到Linux服务器下(Tomcat7)
  8. Oracle 字段是多个值的字符串的查询处理
  9. php 常量定义
  10. could not perform addBatch
  11. JDBC第一篇--【介绍JDBC、使用JDBC连接数据库、简单的工具类】
  12. C/C++ 进程通讯(命名管道)
  13. 移动web页面给用户发送邮件的方法
  14. 《Unix网络编程》读书笔记
  15. Learning-MySQL【5】:数据的操作管理
  16. Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
  17. Android开发和调试必备工具-SDK Tools
  18. window.name跨域实现
  19. 30分钟学会JS AST,打造自己的编译器
  20. C#图解教程读书笔记(第3章 类型、存储及变量)

热门文章

  1. js根据ip地址获取城市地理位置
  2. JUC---09异步回调
  3. BeanUtil的使用
  4. Express 配置HTML页面访问
  5. Java学习的第五十天
  6. python实现经典的排序算法
  7. python框架Django中的MTV架构
  8. [Luogu P3959] 宝藏 (状压DP+枚举子集)
  9. 使用 C# 9.0 新语法提升 if 语句美感
  10. 面向初学者的Python爬虫程序教程之动态网页抓取