一 背景
有天晚上我作為ios工程師的gf突然問(wèn)我巴元,同步串行隊(duì)列和異步串行隊(duì)列有什么區(qū)別?作為代碼人這些概念我們平時(shí)都是覺(jué)得是基本問(wèn)題并级,但是在回復(fù)的時(shí)候 我突然覺(jué)得有點(diǎn)不太對(duì)..
二 知識(shí)介紹
2.1 何為同步逐哈?
同步我的理解就是任務(wù)執(zhí)行有依賴(lài)關(guān)系,從結(jié)果角度說(shuō)便贵,這些任務(wù)是前后有序的執(zhí)行結(jié)果菠镇。
2.2 何為異步?
異步我理解就是任務(wù)執(zhí)行沒(méi)有依賴(lài)關(guān)系承璃,從結(jié)果角度說(shuō)利耍,這些任務(wù)的執(zhí)行是無(wú)序的。
2.3 何為串行?
串行我的理解就是在多任務(wù)在執(zhí)行過(guò)程中 任務(wù)是像串起來(lái)一樣隘梨,一個(gè)一個(gè)任務(wù)串起來(lái)執(zhí)行
2.4 何為并行程癌?
并行我的理解就是在多任務(wù)的執(zhí)行過(guò)程中 任務(wù)是可以同時(shí)執(zhí)行的。
三 區(qū)別何在轴猎?
其實(shí)我認(rèn)為同步/異步 串行/并行 是對(duì)同一個(gè)事情 不同的描述角度嵌莉,同步和串行 描述的都是一個(gè)事情,前一個(gè)任務(wù)執(zhí)行完畢 后續(xù)一個(gè)任務(wù)才能執(zhí)行捻脖,串行是任務(wù)的調(diào)度過(guò)程 而同步是串行的結(jié)果锐峭,同理異步/并行 也是一樣
四 回到原來(lái)的問(wèn)題,ios 的同步串行隊(duì)列郎仆,和異步串行隊(duì)列何解只祠?
原來(lái)描述的是 ios 的dispatch_sync和 dispatch_async 對(duì)應(yīng)相對(duì)概念,同步/異步是ios主隊(duì)列和執(zhí)行隊(duì)列之間調(diào)度情況扰肌,串行/并行 是執(zhí)行隊(duì)列內(nèi)部任務(wù)調(diào)度的情況抛寝。。曙旭。
五 總結(jié)
我認(rèn)為串行/并行的調(diào)度方式導(dǎo)致了同步/異步結(jié)果的產(chǎn)生