ios 队列简单理解
来源:互联网 发布:yii2连接多个数据库 编辑:程序博客网 时间:2024/06/06 02:08
-(IBAction)buttonQueueClick:(id)sender
{
//创建一个队列queue1
count =0;
queue1 =dispatch_queue_create("com.dispatch.writedb",DISPATCH_QUEUE_SERIAL);串行队列
queue2= dispatch_queue_create("com.dispatch.concurrent",DISPATCH_QUEUE_CONCURRENT);并行队列
for (int i =0; i <100; i ++ ) {
NSLog(@"i is:%ld",i);
[selfwriteData];
}
}
/**
* 串行队列是先进先出顺序 block代码块谁先进去就先执行谁
* 如果是 dispatch_async 已经执行完了100次writeData block被加入到队列里面一个一个按顺序执行
* 如果是 dispatch_sync 在同步执行会等待队列执行完毕再执行下一个循环操作
*/
- (void)writeData
{
//串行队列输出
dispatch_async(queue1, ^{
NSLog(@"count is %ld",count);
count++;
});
//并行行队列输出
dispatch_async(queue2, ^{
NSLog(@"count is %ld",count);
count++;
});
//主线程打输出
并行队列同步执行中和串行的输出结果是一样的
// dispatch_sync(queue1, ^{
// NSLog(@"count is %ld",count);
// count++;
// });
}
并行队列异步的打印结果:block被分发到多个线程去同时执行
出现这种原因是因为count++还没有执行完毕 block就已经被分发到子线程执行了 所以很多子线打印的结果是一样的
- ios 队列简单理解
- iOS runTime机制简单理解
- iOS Runtime简单粗暴理解
- iOS 块的简单理解
- iOS 简单理解的http://
- iOS 架构的简单理解
- 简单理解异步、线程池和队列的作用
- iOS 之GCD串行和并发队列的理解
- iOS 之GCD串行和并发队列的理解
- ios签名原理的简单理解
- iOS下数据库的简单理解
- iOS 中copy的简单理解
- iOS开发中代理的简单理解
- iOS 简单理解类的本质
- iOS 线程和进程的简单理解
- 简单队列
- ios 队列
- iOS -- KVC和KVO区别与简单理解
- Web.config中的system.web system.webServer
- Android 实现切换主题皮肤功能(类似于众多app中的 夜间模式,主题包等)
- 剑指offer|链表中倒数第k个结点
- 如果实现python字典的只读, 考虑字典内容有list, dict的嵌套问题
- u-boot 移植到6410
- ios 队列简单理解
- POCO-TCPServer使用简单Demo
- python之psutil模块
- 解决请求被中止: 未能创建 SSL/TLS 安全通道。
- easyui_动态添加隐藏toolbar按钮
- Swift编程思想 Part 1:拯救小马
- [从头读历史] 第265节 诗经 周南
- android屏幕投影到pc
- windows7下怎样安装whl文件(python)