11111.jpg
全局隊(duì)列(本質(zhì)上并發(fā)隊(duì)列)
在創(chuàng)建全局隊(duì)列的時(shí)候需要兩個(gè)參數(shù)優(yōu)先級&服務(wù)質(zhì)量
全局隊(duì)列參數(shù)分析
參數(shù)1:涉及到系統(tǒng)適配悬蔽;
iOS 8:服務(wù)質(zhì)量
QOS_CLASS_USER_INTERATCTIVE 用戶交互(比較高)
QOS_CLASS_USER_INITIATED 用戶需要(不要使用耗時(shí)操作)
QOS_CLASS_DEFAULT 默認(rèn)(給系統(tǒng)重置隊(duì)列)
QOS_CLASS_UTILITY 使用工具(用了做耗時(shí)操作)
QOS_CLASS_BACKGROUND 后臺執(zhí)行
QOS_CLASS_UNSPECIFIED 沒有指定優(yōu)先級 0
iOS 7:調(diào)度優(yōu)先級
DISPATCH_QUEUE_PRIORITY_HIGH 2 高
DISPATCH_QUEUE_PRIORITY_DEFAULT 0 默認(rèn)
DISPATCH_QUEUE_PRIORITY_LOW -2 低
DISPATCH_QUEUE_PRIORITY_BACKGROUND INT16_MIN 2 后臺優(yōu)先級
在工作中惧所,一般還是沒有淘汰iOS 7;
提示:尤其不要現(xiàn)在background眠副,不管是優(yōu)先級還是服務(wù)質(zhì)量,線程的執(zhí)行慢到令人發(fā)指她紫!
參數(shù)2:這是為未來使用的一個(gè)保留,現(xiàn)在始終未0;
- 代碼
//全局隊(duì)列
-(void)GCDSerialQueuesEight {
//全局隊(duì)列
/*
參數(shù)1:涉及到系統(tǒng)適配粤剧;
iOS 8:服務(wù)質(zhì)量
QOS_CLASS_USER_INTERATCTIVE 用戶交互(比較高)
QOS_CLASS_USER_INITIATED 用戶需要(不要使用耗時(shí)操作)
QOS_CLASS_DEFAULT 默認(rèn)(給系統(tǒng)重置隊(duì)列)
QOS_CLASS_UTILITY 使用工具(用了做耗時(shí)操作)
QOS_CLASS_BACKGROUND 后臺執(zhí)行
QOS_CLASS_UNSPECIFIED 沒有指定優(yōu)先級 0
iOS 7:調(diào)度優(yōu)先級
DISPATCH_QUEUE_PRIORITY_HIGH 2 高
DISPATCH_QUEUE_PRIORITY_DEFAULT 0 默認(rèn)
DISPATCH_QUEUE_PRIORITY_LOW -2 低
DISPATCH_QUEUE_PRIORITY_BACKGROUND INT16_MIN 2 后臺優(yōu)先級
在工作中,一般還是沒有淘汰iOS 7;
提示:尤其不要現(xiàn)在background挥唠,不管是優(yōu)先級還是服務(wù)質(zhì)量抵恋,線程的執(zhí)行慢到令人發(fā)指!
參數(shù)2:這是為未來使用的一個(gè)保留宝磨,現(xiàn)在始終為0弧关;
*/
dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW,0);
//循環(huán)添加10個(gè)任務(wù),進(jìn)入全局隊(duì)列中
for(int i = 0;i < 5;i++)
{
dispatch_async(q,^{
NSLog(@"0----%@,%d",[NSThread currentThread],i);
});
}
dispatch_queue_t q2 = dispatch_get_global_queue(2,0);
//循環(huán)添加10個(gè)任務(wù)唤锉,進(jìn)入全局隊(duì)列中
for(int i = 0;i < 5;i++)
{
dispatch_async(q2,^{
NSLog(@"2----%@,%d",[NSThread currentThread],i);
});
}
NSLog(@"come here");
}