操作系統(tǒng)可以同時(shí)執(zhí)行多個(gè)任務(wù)匈织,每個(gè)任務(wù)就是進(jìn)程(并發(fā))蚌吸,進(jìn)程可以同時(shí)執(zhí)行多個(gè)任務(wù)赶舆,每個(gè)任務(wù)就是線程(并行多核的情況下)
1.多進(jìn)程形式敛腌,允許多個(gè)任務(wù)同時(shí)運(yùn)行(多進(jìn)程并發(fā))
你可以qq聊天的同時(shí)聽音樂,表面上是同時(shí)在運(yùn)行兩個(gè)進(jìn)程图毕,但是對(duì)于CPU(不管是單核還是多核)對(duì)于某一時(shí)刻只能夷都,CPU總是最多運(yùn)行一個(gè)進(jìn)程,其他進(jìn)程處于非運(yùn)行狀態(tài)予颤。但是同時(shí)運(yùn)行那么多程序是如何實(shí)現(xiàn)的呢囤官,靠操作系統(tǒng),操作系統(tǒng)可以將每個(gè)進(jìn)程劃分為n份蛤虐,快速輪流處理每個(gè)進(jìn)程的份党饮,這樣快速的切換使得宏觀上具有多個(gè)進(jìn)程同時(shí)運(yùn)行的效果,所以用戶表面上看到了同時(shí)運(yùn)行多個(gè)程序驳庭。
多進(jìn)程其實(shí)是將所有進(jìn)程按時(shí)間分為一個(gè)一個(gè)的時(shí)間片刑顺,每一個(gè)時(shí)刻只執(zhí)行某個(gè)特定的片,時(shí)間片過(guò)期后轉(zhuǎn)而執(zhí)行下一個(gè)進(jìn)程的時(shí)間片
2.多線程形式饲常,允許單個(gè)任務(wù)分成不同的部分運(yùn)行(多線程并行)
線程是CPU調(diào)度的基本單位蹲堂,對(duì)于單核CPU來(lái)說(shuō)是以并發(fā)的形式來(lái)處理多個(gè)線程,但是多核CPU可以以并行的形式處理多個(gè)線程