多线程:并发队列
来源:互联网 发布:java软件工程师就业 编辑:程序博客网 时间:2024/05/29 12:58
//// ViewController.m// 08-并发队列//// Created by gzxzmac on 16/1/29.// Copyright © 2016年 gzxzmac. All rights reserved.//#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { [self gcdDemo1];}/* 并发队列 如果是异步的,会开启多个线程 如果是同步的,不会开启线程,会在当前线程执行任务 *//* GCD 开不开线程跟谁有关系 同步,不会开线程,会在当前线程执行任务 异步,会开线程 GCD开多少线线程跟谁有关系? 跟队列有关系。 并发队列,会开多个线程,线程数由系统来决定 串行队列,只会开启一个线程 由于GCD不能设置开启的线程数,现在有一部份公司已经开始转向使用 NSOperation 一般情况下,手机开多少线程合适? 是wifi 还是 手机网络 -- 网络下载的前提 - 如果是wifi 的可以开到5-6条 - 手机网络 2-3 条就可以了 -- 处理本地大数据 - 手机型号/硬件设备有关系 - 手机接上电源 + 连上 wifi = 自动下载系统 => 3-4G 存在手机上 */- (void)gcdDemo3 { dispatch_queue_t queue = dispatch_queue_create("itcast", DISPATCH_QUEUE_CONCURRENT); for (int i = 0; i < 200; ++i) { dispatch_sync(queue, ^{ [NSThread sleepForTimeInterval:1]; NSLog(@"%@ %d",[NSThread currentThread],i); }); }}// 并发队列与同步 : 在当前线程执行任务- (void)gcdDemo2 { dispatch_queue_t queue = dispatch_queue_create("itcast", DISPATCH_QUEUE_CONCURRENT); dispatch_sync(queue, ^{ NSLog(@"%@",[NSThread currentThread]); });}// 并发队列会开启多个线程,而且任务不按顺序执行- (void)gcdDemo1 { // 创建并发队列 dispatch_queue_t queue = dispatch_queue_create("itcast", DISPATCH_QUEUE_CONCURRENT); for (int i = 0; i < 200; ++i) { dispatch_async(queue, ^{ [NSThread sleepForTimeInterval:1]; NSLog(@"%@ - %d",[NSThread currentThread],i); }); }}- (void)gcdDemo { // 创建并发队列 dispatch_queue_t queue = dispatch_queue_create("itcast", DISPATCH_QUEUE_CONCURRENT); dispatch_async(queue, ^{ NSLog(@"%@",[NSThread currentThread]); });}@end
0 0
- 多线程:并发队列
- 多线程之并发队列
- Java多线程 阻塞队列和并发集合
- Java多线程阻塞队列和并发集合
- Java多线程 阻塞队列和并发集合
- Java多线程 阻塞队列和并发集合
- Java多线程 阻塞队列和并发集合
- Java多线程 阻塞队列和并发集合
- Java多线程 阻塞队列和并发集合
- Java多线程 阻塞队列和并发集合
- Java多线程 阻塞队列和并发集合
- 【Java基础】并发 - 多线程 - 阻塞队列
- Java多线程 阻塞队列和并发集合
- Java多线程 阻塞队列和并发集合
- 多线程高并发内存池队列模型
- Java多线程/并发26、阻塞队列BlockingQueue
- 【多线程高并发】 同步容器和队列
- 多线程GCD的详细讲解 任务和队列(串行队列,并发队列) (一)
- 推荐一个免费的论文查重网站
- 弦月下的SQL<4> SQL语言基础
- iOS系统原生二维码条形码扫描
- google工具包
- 多线程:串行队列
- 多线程:并发队列
- mvn profiles
- 多线程:主队列
- 《离去之犹豫》
- UI 开源代码 FileBrowserView
- 多线程:同步的作用
- 网络编程常见问题总结
- OkHttp3找不到FormEncodingBuilder
- html标签