设为首页 加入收藏

TOP

iOS:GCD理解1(同步-异步、串行-并行)
2017-10-12 17:52:49 】 浏览:5233
Tags:iOS GCD 理解 同步 异步 串行 并行

1、并行-异步(ST1与ST2抢占资源)

1-1)、获取 并行(全局)队列 ,DISPATCH_QUEUE_PRIORITY_DEFAULT 为默认优先级。

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT , 0);

1-2)、创建异步事件。

dispatch_async(queue, ^{

	//do something 1

   });

dispatch_async(queue, ^{

	//do something 2

   });

 

2、串行-同步(顺序执行)

2-1)、创建串行队列,DISPATCH_QUEUE_SERIAL 为串行

dispatch_queue_t queue =  dispatch_queue_create("test", DISPATCH_QUEUE_SERIAL);

2-2)、创建同步事件。

dispatch_sync(queue, ^{

	//do something 1

    });

dispatch_sync(queue, ^{

	//do something 2

   });

 

3、并行-同步(顺序执行)

3-1)、获取 并行(全局)队列 ,DISPATCH_QUEUE_PRIORITY_DEFAULT 为默认优先级。

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT , 0);

 3-2)、创建同步事件。

dispatch_sync(queue, ^{

	//do something 1

    });

dispatch_sync(queue, ^{

	//do something 2

   });

 

4、串行-异步(理解起来怪怪的,测试结果,顺序执行)

4-1)、创建串行队列,DISPATCH_QUEUE_SERIAL 为串行

dispatch_queue_t queue =  dispatch_queue_create("test", DISPATCH_QUEUE_SERIAL);

4-2)、创建异步事件。

dispatch_async(queue, ^{

	//do something 1

    });

dispatch_async(queue, ^{

	//do something 2

   });

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇64位系统下应用开发需要注意的那.. 下一篇iOS提交AppStore后申请加急审核

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目