ios同步異步 串行并行的理解

首先沒有同步線程和異步線程這個說法的
請注意:同步操作  異步操作   串行隊列  并行對列 這個才對  和線程沒關(guān)系 
一斜做、串行隊列
1、同步運行
dispatch_queue_t searialQueue =dispatch_queue_create("SearialQueue",DISPATCH_QUEUE_SERIAL);
dispatch_sync(queue_1, ^{
NSLog(@"searialQueue = %@", [NSThreadcurrentThread]);
});
打印出的結(jié)果是 searialQueue = <NSThread: 0x7f99bad06d10>{number = 1, name = main}
也就是說在串行隊列下同步執(zhí)行绒北,線程函數(shù)會在創(chuàng)建隊列所在的線程中執(zhí)行玛瘸,不會開辟新線程
2臼疫、異步運行
dispatch_queue_t searialQueue = dispatch_queue_create("SearialQueue", DISPATCH_QUEUE_SERIAL);
dispatch_sync(queue_1, ^{
NSLog(@"searialQueue = %@", [NSThread currentThread]);
});
打印出的結(jié)果是 searialQueue = <NSThread: 0x7fe91bc0fb20>{number = 2, name = (null)}
雖然沒打印出線程的名字证杭,但從number = 2 可以看出創(chuàng)建了新的線程執(zhí)行任務(wù)徽职,也就是說在串行隊列下異步執(zhí)行枝缔,會開辟新的線程執(zhí)行操作枣抱,且不論有多好dispatch_sync熔吗,都只開辟一個線程,畢竟是串行隊列佳晶,也不難理解桅狠。
二、并行隊列
1轿秧、同步運行
dispatch_queue_t searialQueue = dispatch_queue_create("Queue", DISPATCH_QUEUE_CONCURRENT);
dispatch_sync(queue_1, ^{
NSLog(@"Queue = %@", [NSThread currentThread]);
});
打印出的結(jié)果是 Queue = <NSThread: 0x7ffc40c078d0>{number = 1, name = main}
我當初的猜想是會開辟新線程垂攘,但明顯不是,線程函數(shù)依舊在創(chuàng)建隊列所在的線程中執(zhí)行淤刃,不會開辟新線程晒他。
2、異步運行
dispatch_queue_t searialQueue = dispatch_queue_create("Queue", DISPATCH_QUEUE_CONCURRENT);
dispatch_async(queue_1, ^{
NSLog(@"Queue = %@", [NSThread currentThread]);
});
打印出的結(jié)果是 Queue = <NSThread: 0x7fba4bc97180>{number = 2, name = (null)}
這個毫無疑問會開辟新線程執(zhí)行逸贾,而外補充一點的是陨仅,如果有此時有多個dispatch_async,就可能會開辟多少個線程執(zhí)行铝侵!
三灼伤、總結(jié):決定是否開辟新線程的是同步和異步操作,同步下不管是串行還是并行都不會開辟新線程咪鲜。
串行隊列:同步:不開辟線程狐赡,在隊列所在的線程執(zhí)行
                    異步:開辟新線程(且僅一個)
并行隊列:同步:不開辟線程,在隊列所在的線程執(zhí)行
                     異步:開辟新線程疟丙,個數(shù)由任務(wù)的個數(shù)等決定
dispatch_queue_t q = dispatch_queue_create("duilie", DISPATCH_QUEUE_CONCURRENT);
    dispatch_async(q, ^{
        NSLog(@"%@ %d", [NSThread currentThread], i);
    });
應(yīng)該這么理解 
將  NSLog(@"%@ %d", [NSThread currentThread], i); 這個任務(wù)加到q隊列(可以是串行或者并行)中執(zhí)行颖侄,然后q隊列又是dispatch_async這種執(zhí)行順序鸟雏,如果同步執(zhí)行那就在q隊列所在線程順序執(zhí)行不會開辟新線程,如果是并行執(zhí)行,那如果創(chuàng)建的隊列是異步隊列就可能開辟多個線程,如果是同步隊列那就只會開辟一個線程览祖。如果q隊列和外部所在的隊列一樣可能會死鎖哦(就像主隊列)
同步操作dispatch_sync 和 異步操作dispatch_async 是放在隊列中的
關(guān)于同步和異步的理解:
同步操作dispatch_sync 其實我是這樣理解的孝鹊,就是他阻塞了當前線程,需要等當前線程展蒂,在這個操作之前的任務(wù)必須完成才會往下走又活。

異步操作dispatch_async 其實我是這樣理解的,就是他不阻塞了當前線程锰悼,不需要等當前線程柳骄,不管你在這個操作之前的任務(wù)是否完成就會往下走。

dispatch_barrier_sync 和dispatch_barrier_async
iOS開發(fā)系列-線程同步dispatch_barrier_(a)sync:http://www.reibang.com/p/68a23031b1c1 
個人理解就是
可以把它拆開來dispatch_barrier +(a)sync
柵欄函數(shù)dispatch_barrier 作用是控制隊列中的任務(wù)執(zhí)行的順序 順序:柵欄前的任務(wù)全執(zhí)行—》柵欄任務(wù)—》柵欄后的任務(wù)
(a)sync和原先理解的一樣(就是這個柵欄任務(wù)加入隊列的執(zhí)行順序)
同步柵欄就相當于一個斷點箕般,在同一個對列里柵欄任務(wù)前插入的任務(wù)沒有完成時耐薯,這個隊列后面的任務(wù)就被阻塞了
異步柵欄就是我只管 在同一個對列里柵欄任務(wù)前插入的任務(wù)完成后我才執(zhí)行我的柵欄任務(wù),其他我不管

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末隘世,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子鸠踪,更是在濱河造成了極大的恐慌丙者,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件营密,死亡現(xiàn)場離奇詭異械媒,居然都是意外死亡,警方通過查閱死者的電腦和手機评汰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門纷捞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人被去,你說我怎么就攤上這事主儡。” “怎么了惨缆?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵糜值,是天一觀的道長。 經(jīng)常有香客問我坯墨,道長寂汇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任捣染,我火速辦了婚禮骄瓣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘耍攘。我一直安慰自己榕栏,他們只是感情好畔勤,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著臼膏,像睡著了一般硼被。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上渗磅,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天嚷硫,我揣著相機與錄音,去河邊找鬼始鱼。 笑死仔掸,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的医清。 我是一名探鬼主播起暮,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼会烙!你這毒婦竟也來了负懦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤柏腻,失蹤者是張志新(化名)和其女友劉穎纸厉,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體五嫂,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡颗品,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了沃缘。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片躯枢。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖槐臀,靈堂內(nèi)的尸體忽然破棺而出锄蹂,到底是詐尸還是另有隱情,我是刑警寧澤水慨,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布败匹,位于F島的核電站,受9級特大地震影響讥巡,放射性物質(zhì)發(fā)生泄漏掀亩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一欢顷、第九天 我趴在偏房一處隱蔽的房頂上張望槽棍。 院中可真熱鬧,春花似錦、人聲如沸炼七。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽豌拙。三九已至陕悬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間按傅,已是汗流浹背捉超。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留唯绍,地道東北人拼岳。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像况芒,于是被迫代替她去往敵國和親惜纸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

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