操作系統(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)程,但是對于CPU(不管是單核還是多核)對于某一時(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í)間片過期后轉(zhuǎn)而執(zhí)行下一個(gè)進(jìn)程的時(shí)間片

2.多線程形式,允許單個(gè)任務(wù)分成不同的部分運(yùn)行(多線程并行)
線程是CPU調(diào)度的基本單位,對于單核CPU來說是以并發(fā)的形式來處理多個(gè)線程,但是多核CPU可以以并行的形式處理多個(gè)線程