您的位置:首页 > 产品设计 > UI/UE

iOS开发之GCD(3)Main Dispatch Queue/Global Dispatch Queue

2015-03-17 13:54 585 查看
上一篇提到了如何创建dispatch queue,这篇记录一下如何获取系统标准提供的dispatch queue。

系统提供的Dispahch queue包括 Main Dispatch Queue和Global Dispatch Queue

Main Dispatch Queue:

这是在主线程中执行的Dispatch Queue,是一个Serial Dispatch Queue。追加到这个Dispatch Queue中的任务在主线程的Run Loop中执行。所以用户界面更新的操作必须在 Main Dispatch Queue 中进行。

/*
Main Dispatch Queue 的获取方法
*/
dispatch_queue_t mainDispatchQueue = dispatch_get_main_queue();


Global Dispatch Queue:

这是一个Concurrent Dispatch Queue,开发中一般没有必要通过生成的方式,直接采用Global Dispatch Queue就可以。

Global Dispatch Queue包括四个优先级:High Priority,Default Priority,Low Priority,BackGround Priority。他们通过XNU内核的管理用于Global Dispatch Queue的线程。但是优先级的确认只是一个大致的判断,开发中可根据任务的重要性,选择追加,但是不能精确控制。

/*
Global Dispatch Queue 的获取方法
*/
dispatch_queue_t globalDispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0);

dispatch_queue_t globalDispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

dispatch_queue_t globalDispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0);

dispatch_queue_t globalDispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios开发 gcd