線程和進(jìn)程的區(qū)別是什么?
1、定義不一樣,進(jìn)程是執(zhí)行中的一段程序,而一個(gè)進(jìn)程中執(zhí)行中的每個(gè)任務(wù)即為一個(gè)線程。
2、一個(gè)線程只可以屬于一個(gè)進(jìn)程,但一個(gè)進(jìn)程能包含多個(gè)線程。
3、線程無(wú)地址空間,它包括在進(jìn)程的地址空間里。
4、線程的開(kāi)銷或代價(jià)比進(jìn)程的小。
并行和并發(fā)有什么區(qū)別?
并發(fā)(concurrency):把任務(wù)在不同的時(shí)間點(diǎn)交給處理器進(jìn)行處理。在同一時(shí)間點(diǎn),任務(wù)并不會(huì)同時(shí)運(yùn)行。
并行(parallelism):把每一個(gè)任務(wù)分配給每一個(gè)處理器獨(dú)立完成。在同一時(shí)間點(diǎn),任務(wù)一定是同時(shí)運(yùn)行。
并發(fā)不是并行。并行是讓不同的代碼片段同時(shí)在不同的物理處理器上執(zhí)行。并行的關(guān)鍵是同時(shí)做很多事情,而并發(fā)是指同時(shí)管理很多事情,這些事情可能只做了一半就被暫停去做別的事情了。
關(guān)鍵詞: 線程和進(jìn)程的區(qū)別是什么 并行和并發(fā)有