GCD之Apple推崇的多线程管理策略
来源:互联网 发布:数据变换方法的选择 编辑:程序博客网 时间:2024/04/28 18:18
//GCD:Grand Central Dispatch,大中央调度,是Apple推崇的多线程管理策略,是通过队列 对多线程进行管理
//第一种队列
//主调队列,在主线程中执行,并且是串行(一次操作一个)
dispatch_queue_t mainQueue = dispatch_get_main_queue();
//第二种队列
//全局队列,在子线程中执行,并且是并行(一次执行多个)
//参数1:设置队列的优先级(high,default,low,background)
//参数2:预留参数,未来使用
dispatch_queue_t globalQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
//第三种队列
//自定义队列,在子线程中执行,可以设置并行或串行
//参数1:区分队列的唯一标识,是一个可选项,如果不写就写NULL.如果写的话就必须规范的例子:"com.example.myqueue"
//参数2:是设置并行 DISPATCH_QUEUE_CONCURRENT 或串行的DISPATCH_QUEUE_SERIAL(NULL)
dispatch_queue_t customQueue = dispatch_queue_create("com.example.myqueue", NULL);
NSLog(@"%@%@%@",mainQueue,globalQueue,customQueue);
//同步执行sync(需要等待执行完毕);
//参数1:指定队列
//参数2:Block,执行的操作
// dispatch_sync(globalQueue, ^{
// [self banZhuanPlus];
// });
//异步执行async(不需要等待执行完毕)
dispatch_async(globalQueue, ^{
[self banZhuanPlus];
});
//延迟执行
// dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// <#code to be executed after a specified delay#>
// });
//第一种队列
//主调队列,在主线程中执行,并且是串行(一次操作一个)
dispatch_queue_t mainQueue = dispatch_get_main_queue();
//第二种队列
//全局队列,在子线程中执行,并且是并行(一次执行多个)
//参数1:设置队列的优先级(high,default,low,background)
//参数2:预留参数,未来使用
dispatch_queue_t globalQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
//第三种队列
//自定义队列,在子线程中执行,可以设置并行或串行
//参数1:区分队列的唯一标识,是一个可选项,如果不写就写NULL.如果写的话就必须规范的例子:"com.example.myqueue"
//参数2:是设置并行 DISPATCH_QUEUE_CONCURRENT 或串行的DISPATCH_QUEUE_SERIAL(NULL)
dispatch_queue_t customQueue = dispatch_queue_create("com.example.myqueue", NULL);
NSLog(@"%@%@%@",mainQueue,globalQueue,customQueue);
//同步执行sync(需要等待执行完毕);
//参数1:指定队列
//参数2:Block,执行的操作
// dispatch_sync(globalQueue, ^{
// [self banZhuanPlus];
// });
//异步执行async(不需要等待执行完毕)
dispatch_async(globalQueue, ^{
[self banZhuanPlus];
});
//延迟执行
// dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// <#code to be executed after a specified delay#>
// });
//单例Pen.h文件
(可以整片直接复制使用)
1 0
- GCD之Apple推崇的多线程管理策略
- 多线程之GCD的使用
- 多线程之GCD的使用
- iOS 多线程之GCD的简单使用
- IOS 多线程之GCD的详细操作
- iOS多线程编程之GCD的使用
- 多线程之GCD的简单使用
- iOS 多线程之 GCD 的介绍
- iOS 多线程之----------GCD
- IOS多线程之GCD
- 多线程之GCD
- IOS 多线程之GCD
- iOS多线程之GCD
- 多线程之GCD
- ios多线程之GCD
- 多线程之-GCD详解
- iOS多线程之GCD
- 多线程之GCD
- AutoIT在FireFox和Chrome浏览器自动化中的应用
- ADB server didn't ACK 解决方法
- 媒体:28省份已开展不动产登记机构整合工作
- 动态创建文件夹和文件
- xStream框架
- GCD之Apple推崇的多线程管理策略
- 数据结构第一章
- android项目 之 记事本(6)----- 添加手写
- Shutting down interface eth0: Device state: 3 (disconnected);Active connection path: /org/freedeskto
- 读TXT文件中的数据并且计算期望方差
- 转:yum error rpmts_HdrFromFdno: V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
- 队列优先 之 插入排序实现(插入思想)
- 第六章、Linux 的文件权限与目录配置
- 华为机试:元素异同比较