2018-03-25

  1. 全局隊(duì)列

但是我們不需要用retain和release來(lái)管理全局的并發(fā)隊(duì)列,為全局隊(duì)列對(duì)于程序來(lái)說(shuō)是全局的傅事,retain和release會(huì)被全局隊(duì)列忽略呜师。所以,我們不需要存儲(chǔ)這些隊(duì)列的引用數(shù)浦楣,僅僅只需要在任何要使用它們的地方,調(diào)用dispatch_get_global_queue這個(gè)方法即可

dispatch_queue_t aQueue =
dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
//全局隊(duì)列的四種類型
   <!--DISPATCH_QUEUE_PRIORITY_HIGH-->
   <!--DISPATCH_QUEUE_PRIORITY_DEFAULT-->
   <!--DISPATCH_QUEUE_PRIORITY_LOW-->
   <!--DISPATCH_QUEUE_PRIORITY_BACKGROUND-->

DISPATCH_QUEUE_PRIORITY_BACKGROUND咪辱。被設(shè)置成后臺(tái)級(jí)別的隊(duì)列振劳,它會(huì)等待所有比它級(jí)別高的隊(duì)列中的任務(wù)執(zhí)行完或CPU空閑的時(shí)候才會(huì)執(zhí)行自己的任務(wù)。

  1. 創(chuàng)建串行 / 并發(fā)隊(duì)列
//串行隊(duì)列
 dispatch_queue_t serialQueue;
 serialQueue = 
 dispatch_queue_create("隊(duì)列名稱", NULL);
 <!--NULL 也可為DISPATCH_QUEUE_SERIAL-->
//并發(fā)隊(duì)列
dispatch_queue_t concurrentQueue;
concurrentQueue = 
dispatch_queue_create("隊(duì)列名稱", DISPATCH_QUEUE_CONCURRENT);
  1. 獲取Main Queue
dispatch_queue_t mainQueue;
mainQueue = dispatch_get_main_queue();
  1. 向隊(duì)列(queue)添加任務(wù)
dispatch_queue_t myCustomQueue;
myCustomQueue =
dispatch_queue_create("xyz", NULL);
///異步
dispatch_async(myCustomQueue, ^{

});
//同步執(zhí)行
dispatch_sync(myCustomQueue, ^{
    
});
  1. 任務(wù)執(zhí)行完后添加一個(gè)完成塊(Completion Block)
average_async(10, 10, dispatch_get_main_queue(), ^(int t) {
        NSLog(@"t = %d",t);
    });

void average_async(int t , int x ,
                   dispatch_queue_t queue, void (^block)(int t )){
    
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    
        int product = t * x ;
        dispatch_async(queue, ^{
            block(product);
        });
    });
}

  1. 并發(fā)執(zhí)行迭代循環(huán)
/// 沒(méi)有想到使用 場(chǎng)景  == 異步的 for(油狂,历恐,,)  
dispatch_apply(100, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(size_t i) {
        
});
  1. 掛起和恢復(fù)隊(duì)列
dispatch_queue_t myQueue;
myQueue = dispatch_queue_create("com.example.MyCustomQueue", NULL);
//掛起隊(duì)列
dispatch_suspend(myQueue);
//恢復(fù)隊(duì)列
dispatch_resume(myQueue);
/// 執(zhí)行掛起操作不會(huì)對(duì)已經(jīng)開(kāi)始執(zhí)行的任務(wù)起作用专筷,
/// 它僅僅只會(huì)阻止將要進(jìn)行但是還未開(kāi)始的任務(wù)弱贼。
  1. 信號(hào)量
http://blog.csdn.net/meegomeego/article/details/45192579
  1. 延時(shí)執(zhí)行
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        
   });
  1. 一次執(zhí)行任務(wù)
在單例執(zhí)行模式中,能夠用到一次執(zhí)行任務(wù)磷蛹。蘋(píng)果提供的一次執(zhí)行機(jī)制吮旅,不僅能夠保證一次執(zhí)行,而且是線程安全的味咳。使用GCD的一次執(zhí)行庇勃,效率高,不要使用互斥鎖槽驶,效率太低责嚷。

static dispatch_once_t onceToken;

NSLog(@"onceToken  %ld", onceToken);

dispatch_once(&onceToken, ^{

  //未執(zhí)行這里時(shí),onceToken是0掂铐,處于可執(zhí)行狀態(tài)罕拂,一旦執(zhí)行之后,onceToken就變成-1堡纬,就再也不會(huì)執(zhí)行了

  NSLog(@"%@", [NSThread currentThread]);

});

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末聂受,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子烤镐,更是在濱河造成了極大的恐慌蛋济,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件炮叶,死亡現(xiàn)場(chǎng)離奇詭異碗旅,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)镜悉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門祟辟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人侣肄,你說(shuō)我怎么就攤上這事旧困。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵吼具,是天一觀的道長(zhǎng)僚纷。 經(jīng)常有香客問(wèn)我,道長(zhǎng)拗盒,這世上最難降的妖魔是什么怖竭? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮陡蝇,結(jié)果婚禮上痊臭,老公的妹妹穿的比我還像新娘。我一直安慰自己登夫,他們只是感情好广匙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著悼嫉,像睡著了一般艇潭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上戏蔑,一...
    開(kāi)封第一講書(shū)人閱讀 51,365評(píng)論 1 302
  • 那天蹋凝,我揣著相機(jī)與錄音,去河邊找鬼总棵。 笑死鳍寂,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的情龄。 我是一名探鬼主播迄汛,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼骤视!你這毒婦竟也來(lái)了鞍爱?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤专酗,失蹤者是張志新(化名)和其女友劉穎睹逃,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體祷肯,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡沉填,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了佑笋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翼闹。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蒋纬,靈堂內(nèi)的尸體忽然破棺而出猎荠,到底是詐尸還是另有隱情坚弱,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布法牲,位于F島的核電站史汗,受9級(jí)特大地震影響琼掠,放射性物質(zhì)發(fā)生泄漏拒垃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一瓷蛙、第九天 我趴在偏房一處隱蔽的房頂上張望悼瓮。 院中可真熱鬧,春花似錦艰猬、人聲如沸横堡。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)命贴。三九已至,卻和暖如春食听,著一層夾襖步出監(jiān)牢的瞬間胸蛛,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工樱报, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留葬项,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓迹蛤,卻偏偏與公主長(zhǎng)得像民珍,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子盗飒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • NSThread 第一種:通過(guò)NSThread的對(duì)象方法 NSThread *thread = [[NSThrea...
    攻城獅GG閱讀 799評(píng)論 0 3
  • 最全的iOS面試題及答案 iOS面試小貼士 ———————————————回答好下面的足夠了-----------...
    大羅Rnthking閱讀 966評(píng)論 0 2
  • 最全的iOS面試題及答案 iOS面試小貼士 ———————————————回答好下面的足夠了-----------...
    zweic閱讀 2,700評(píng)論 0 73
  • 1. 重寫(xiě)view的 hitTest方法 讓對(duì)應(yīng)的子視圖去響應(yīng)當(dāng)前的touch事件 2.自定義UIView添加事...
    yaoyao妖妖閱讀 148評(píng)論 0 1
  • 長(zhǎng)大后嚷量,意味著離開(kāi) 離開(kāi)父母,離開(kāi)家鄉(xiāng) 長(zhǎng)大后逆趣,意味著遠(yuǎn)航 走向遠(yuǎn)方蝶溶、走向孤獨(dú) 六月,在中國(guó)是個(gè)離開(kāi)的季節(jié) 離開(kāi)親...
    麥冬1995閱讀 267評(píng)論 0 0