GCD

 1     //GCD (grand central dispatcher)
 2     //队列
 3     
 4     //串行队列
 5     //前面的现场执行完成,才会开始执行后面加入的线程
 6     //并行队列
 7     //前面加入的线程和后面加入的线程同时执行
 8     
 9     //1.主线程所在的串行队列
10     //系统自动创建这个队列 直接使用就行
11     dispatch_queue_t mainQueue = dispatch_get_main_queue();
12     
13     //2.全局的并行队列
14     //系统自动创建这个队列 直接使用就行
15     /*
16         第一个参数:队列的优先级
17         第二个参数:Apple公司保留的参数,传0就可以
18      */
19     dispatch_queue_t globalQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
20     
21     //3.自己创建的队列
22     //3.1串行队列
23     //参数一:队列的标识符
24     //参数二:队列的类型(串行还是并行)
25     //DISPATCH_QUEUE_SERIAL 表示的是串行队列
26     dispatch_queue_t serialQueue = dispatch_queue_create("serialQueue", DISPATCH_QUEUE_SERIAL);
27     //3.2并行队列
28     dispatch_queue_t concurrentQueue = dispatch_queue_create("concurrentQueue", DISPATCH_QUEUE_CONCURRENT);
29     
30     //二.使用GCD创建线程
31     //参数一:线程执行的队列
32     //参数二:线程的执行体
33     //1.同步的提交方式
34     dispatch_sync(globalQueue, ^{
35         for (int i=0; i<100; i++) {
36             NSLog(@"线程一:%d",i);
37         }
38     });
39     //2.异步的提交方式
40     dispatch_async(globalQueue, ^{
41         for (int i=0; i<100; i++) {
42             NSLog(@"线程二:%d",i);
43         }
44     });
45 }

 

posted on 2015-09-07 15:08  Baymax01  阅读(184)  评论(0编辑  收藏  举报

导航