系統(tǒng)提供的Dispatch Queue
- Main Dispatch Queue(Serail Dispatch Queue)
主線程中執(zhí)行的Dispatch Queue 因?yàn)橹骶€程只有1個(gè)崎逃,所以Main Dispatch Queue自然就是Serail Dispatch Queue
追加到Main Dispatch Queue的處理在主線程的RunLoop中執(zhí)行。
由于在主線程中執(zhí)行沪曙,因此要將用戶界面更新等一些必須在主線程中執(zhí)行的處理追加到Main Dispatch Queue使用钉答。
- Gloabal Dispatch Queue(Concurrent Dispatch Queue)
沒(méi)有必要通過(guò)dispatch_queue_create函數(shù)逐個(gè)生成Concurrent Dispatch Queue磁玉。只要獲取Global Dispatch Queue使用即可。
沒(méi)有必要通過(guò)dispatch_queue_create函數(shù)逐個(gè)生成Concurrent Dispatch Queue.只要獲取Global Dispatch Queue使用即可筐摘。
各種Dispatch Queue的獲取方法如下:
/*
*Main Dispatch Queue的獲取方法
*/
dispatch_queue_t mainDispatchQueue = dispatch_get_main_queue();
/*
*Global Dispatch Queue(高優(yōu)先級(jí))的獲取方法
*/
dispatch_queue_t globalDispatchQueueHigh = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0);
/*
*Global Dispatch Queue(默認(rèn)先級(jí))的獲取方法
*/
dispatch_queue_t globalDispatchQueueDefault = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_Default, 0);
/*
*Global Dispatch Queue(低優(yōu)先級(jí))的獲取方法
*/
dispatch_queue_t globalDispatchQueueLow = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0);
/*
*Global Dispatch Queue(后臺(tái)優(yōu)先級(jí))的獲取方法
*/
dispatch_queue_t globalDispatchQueueBackgroud = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUD, 0);
dispatch_asnyc(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
/*
*可并行執(zhí)行的處理
*/
/*
*在 Main Dispatch Queue中執(zhí)行Block
*/
dispatch_async(dispatch_get_main_queue(), ^{
});
});