一個程序至少有一個進(jìn)程,一個進(jìn)程至少有一個線程:
進(jìn)程:一個程序的一次運(yùn)行撞蚕,在執(zhí)行過程中擁有獨(dú)立的內(nèi)存單元,而多個線程共享一塊內(nèi)存
線程:線程是指進(jìn)程內(nèi)的一個執(zhí)行單元过牙。
聯(lián)系:線程是進(jìn)程的基本組成單位區(qū)別:
(1)調(diào)度:線程作為調(diào)度和分配的基本單位甥厦,進(jìn)程作為擁有資源的基本單位
(2)并發(fā)性:不僅進(jìn)程之間可以并發(fā)執(zhí)行,同一個進(jìn)程的多個線程之間也可并發(fā)執(zhí)行
(3)擁有資源:進(jìn)程是擁有資源的一個獨(dú)立單位寇钉,線程不擁有系統(tǒng)資源刀疙,但可以訪問隸屬于進(jìn)程的資源.
(4)系統(tǒng)開銷:在創(chuàng)建或撤消進(jìn)程時,由于系統(tǒng)都要為之分配和回收資源扫倡,導(dǎo)致系統(tǒng)的開銷明顯大于創(chuàng)建或撤消線程時的開銷谦秧。舉例說明:操作系統(tǒng)有多個軟件在運(yùn)行(QQ、office、音樂等)疚鲤,這些都是一個個進(jìn)程锥累,而每個進(jìn)程里又有好多線程(比如QQ,你可以同時聊天集歇,發(fā)送文件等)