GCD使用(六)串行队列的构造
来源:互联网 发布:c语言随机数的产生 编辑:程序博客网 时间:2024/05/16 00:47
1。串行队列:
FIFO方式,并发时的异步操作不会在主线程进行
dispatch_queue_create(CStringID , 0): CStringID形式-com.COMPANY.PRODUCT.ID,不需要加@
e.g.
//串行队列,非mainQueue,非globalQueue
dispatch_queue_t firstSerialQueue = dispatch_queue_create("com.pixolity.GCD.serialQueue1", 0);
//虽然是异步操作,但仍是FIFO,因为是在自己构造的串行队列中执行
dispatch_async(firstSerialQueue, ^{
NSUInteger counter = 0;
for (counter = 0;
counter < 5;
counter++){
NSLog(@"First iteration, counter = %lu", (unsigned long)counter);
}
});
dispatch_async(firstSerialQueue, ^{
NSUInteger counter = 0;
for (counter = 0;
counter < 5;
counter++){
NSLog(@"Second iteration, counter = %lu", (unsigned long)counter);
}
});
dispatch_async(firstSerialQueue, ^{
NSUInteger counter = 0;
for (counter = 0;
counter < 5;
counter++){
NSLog(@"Third iteration, counter = %lu", (unsigned long)counter);
}
});
e.g.
C函数
void firstIteration(void *paramContext){
NSUInteger counter = 0;
for (counter = 0;
counter < 5;
counter++){
NSLog(@"%@ iteration, counter = %lu",paramContext, (unsigned long)counter);
}
}
- (void) actionSerial{
dispatch_queue_t firstSerialQueue = dispatch_queue_create("com.pixolity.GCD.serialQueue1", 0);
dispatch_async_f(firstSerialQueue, (__bridge void *)( @"First"), firstIteration);
dispatch_async_f(firstSerialQueue, (__bridge void *)( @"Second"), firstIteration);
dispatch_async_f(firstSerialQueue, (__bridge void *)( @"Third"), firstIteration);
}
- GCD使用(六)串行队列的构造
- GCD 的使用 并行串行 队列
- GCD的串行队列和并行队列
- GCD串行队列
- GCD 串行队列,并发队列和主队列的整理
- GCD 串行队列,并发队列和主队列的整理
- GCD 中串行队列、并行队列、dispatch_sync、dispatch_async的关系
- GCD实战一:使用串行队列实现简单的预加载
- GCD实战一:使用串行队列实现简单的预加载
- GCD实战一:使用串行队列实现简单的预加载
- GCD实战一:使用串行队列实现简单的预加载
- iOS系统GCD学习(11):使用串行队列实现简单的预加载
- GCD实战一:使用串行队列实现简单的预加载
- GCD实战一:使用串行队列实现简单的预加载
- GCD实战一:使用串行队列实现简单的预加载
- GCD实战一:使用串行队列实现简单的预加载
- GCD实战一:使用串行队列实现简单的预加载
- GCD使用 串行并行队列 与 同步异步执行的各种组合 及要点分析
- Emacs Shell, File Management
- 去掉桌面快捷方式图标小箭头
- 再次学习linux文件特殊权限:SUID、SGID、Sticky Bit
- C++父类与子类关系以及函数重载、覆盖和隐藏规则
- Mysql不能正确对中文字段排序-解决办法
- GCD使用(六)串行队列的构造
- 一切成功源于积累——20140115 美加实盘(1)
- So you want to be a zookeeper翻译
- 怎么对输入参数的main(int argc , char *argv)函数进行程序调试
- 深入理解Java内存模型(三)——顺序一致性
- Android 自定义View
- oracle对大对象类型操作:blob,clob,nclob
- 面试题------海量数据处理
- windows调用web service 时 超时处理: