同步/異步 串行/并行 引起的思考

一 背景

有天晚上我作為ios工程師的gf突然問我,同步串行隊(duì)列和異步串行隊(duì)列有什么區(qū)別?作為代碼人這些概念我們平時都是覺得是基本問題,但是在回復(fù)的時候 我突然覺得有點(diǎn)不太對..

二 知識介紹

2.1 何為同步?

同步我的理解就是任務(wù)執(zhí)行有依賴關(guān)系,從結(jié)果角度說,這些任務(wù)是前后有序的執(zhí)行結(jié)果。

2.2 何為異步?

異步我理解就是任務(wù)執(zhí)行沒有依賴關(guān)系,從結(jié)果角度說,這些任務(wù)的執(zhí)行是無序的。

2.3 何為串行?

串行我的理解就是在多任務(wù)在執(zhí)行過程中 任務(wù)是像串起來一樣,一個一個任務(wù)串起來執(zhí)行

2.4 何為并行?

并行我的理解就是在多任務(wù)的執(zhí)行過程中 任務(wù)是可以同時執(zhí)行的。

三 區(qū)別何在?

其實(shí)我認(rèn)為同步/異步 串行/并行 是對同一個事情 不同的描述角度,同步和串行 描述的都是一個事情,前一個任務(wù)執(zhí)行完畢 后續(xù)一個任務(wù)才能執(zhí)行,串行是任務(wù)的調(diào)度過程 而同步是串行的結(jié)果,同理異步/并行 也是一樣

四 回到原來的問題,ios 的同步串行隊(duì)列,和異步串行隊(duì)列何解?

原來描述的是 ios 的dispatch_sync和 dispatch_async 對應(yīng)相對概念,同步/異步是ios主隊(duì)列和執(zhí)行隊(duì)列之間調(diào)度情況,串行/并行 是執(zhí)行隊(duì)列內(nèi)部任務(wù)調(diào)度的情況。。。

五 總結(jié)

我認(rèn)為串行/并行的調(diào)度方式導(dǎo)致了同步/異步結(jié)果的產(chǎn)生

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容