1吧慢、進(jìn)程
是具有一定獨(dú)立功能的程序逢慌、它是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位鉴象,重點(diǎn)在系統(tǒng)調(diào)度和單獨(dú)的單位骡男,也就是說進(jìn)程是可以獨(dú)立運(yùn)行的一段程序犹菱。
2陕凹、線程
線程進(jìn)程的一個(gè)實(shí)體泥技,是CPU調(diào)度和分派的基本單位,他是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位丛楚,線程自己基本上不擁有系統(tǒng)資源拢操。在運(yùn)行時(shí)玲昧,只是暫用一些計(jì)數(shù)器吼虎、寄存器和棧 。
二巍扛、他們之間的關(guān)系
1、一個(gè)線程只能屬于一個(gè)進(jìn)程贷痪,而一個(gè)進(jìn)程可以有多個(gè)線程劫拢,但至少有一個(gè)線程(通常說的主線程)妹沙。
2悍引、資源分配給進(jìn)程浓领,同一進(jìn)程的所有線程共享該進(jìn)程的所有資源座菠。
3、線程在執(zhí)行過程中钧大,需要協(xié)作同步翰撑。不同進(jìn)程的線程間要利用消息通信的辦法實(shí)現(xiàn)同步。
4啊央、處理機(jī)分給線程眶诈,即真正在處理機(jī)上運(yùn)行的是線程涨醋。
5、線程是指進(jìn)程內(nèi)的一個(gè)執(zhí)行單元逝撬,也是進(jìn)程內(nèi)的可調(diào)度實(shí)體浴骂。
三、從三個(gè)角度來剖析二者之間的區(qū)別
1宪潮、調(diào)度:線程作為調(diào)度和分配的基本單位溯警,進(jìn)程作為擁有資源的基本單位。
2狡相、并發(fā)性:不僅進(jìn)程之間可以并發(fā)執(zhí)行梯轻,同一個(gè)進(jìn)程的多個(gè)線程之間也可以并發(fā)執(zhí)行。
3尽棕、擁有資源:進(jìn)程是擁有資源的一個(gè)獨(dú)立單位檩淋,線程不擁有系統(tǒng)資源,但可以訪問隸屬于進(jìn)程的資源萄金。
形象的講,進(jìn)程就是一個(gè)項(xiàng)目組媚朦,每個(gè)程序員就是里面的線程呀氧敢!當(dāng)然一個(gè)程序員也可以叫做一個(gè)項(xiàng)目組,對(duì)應(yīng)的就是一個(gè)進(jìn)程只有一個(gè)線程询张。公司里面的任務(wù)是分配給項(xiàng)目組級(jí)別的孙乖,干活的就是其中的程序員》菅酰總的意思就是唯袄,進(jìn)程和線程沒有什么區(qū)別。
吐槽的話:我的意思就是進(jìn)程干不過來了蜗帜,那就多開幾個(gè)線程呀恋拷!
總結(jié):
線程是進(jìn)程的一部分,進(jìn)程是程序的一部分厅缺。