并行和并發(fā)

我已經(jīng)理解了并發(fā)和并行的區(qū)別

總結(jié)
并行和串行:
?串行:一次只能取得一個(gè)任務(wù)并執(zhí)行這一個(gè)任務(wù)
?并行:可以同時(shí)通過(guò)多進(jìn)程/多線程的方式取得多個(gè)任務(wù),并以多進(jìn)程或多線程的方式同時(shí)執(zhí)行這些任務(wù)
?注意點(diǎn): ?如果是單進(jìn)程/單線程的并行,那么效率比串行更差
?如果只有單核cpu,多進(jìn)程并行并沒(méi)有提高效率
?從任務(wù)隊(duì)列上看,由于同時(shí)從隊(duì)列中取得多個(gè)任務(wù)并執(zhí)行,相當(dāng)于將一個(gè)長(zhǎng)任務(wù)隊(duì)列變成了短隊(duì)列

并發(fā):
?并發(fā)是一種現(xiàn)象:同時(shí)運(yùn)行多個(gè)程序或多個(gè)任務(wù)需要被處理的現(xiàn)象
?這些任務(wù)可能是并行執(zhí)行的,也可能是串行執(zhí)行的,和CPU核心數(shù)無(wú)關(guān),是操作系統(tǒng)進(jìn)程調(diào)度和CPU上下文切換達(dá)到的結(jié)果
?解決大并發(fā)的一個(gè)思路是將大任務(wù)分解成多個(gè)小任務(wù): ?可能要使用一些數(shù)據(jù)結(jié)構(gòu)來(lái)避免切分成多個(gè)小任務(wù)帶來(lái)的問(wèn)題
?可以多進(jìn)程/多線程并行的方式去執(zhí)行這些小任務(wù)達(dá)到高效率
?或者以單進(jìn)程/單線程配合多路復(fù)用執(zhí)行這些小任務(wù)來(lái)達(dá)到高效率

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

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