Java的面向?qū)ο缶幊?/a>">Java的面向?qū)ο缶幊?/a>
632
2025-04-02
Java--線程認(rèn)識(shí)
一、進(jìn)程和線程
進(jìn)程是指一個(gè)內(nèi)存中運(yùn)行的應(yīng)用程序,每個(gè)進(jìn)程都有自己獨(dú)立的一塊內(nèi)存空間,一個(gè)進(jìn)程中可以有多個(gè)線程。比如在Windows系統(tǒng)中,一個(gè)運(yùn)行的xx.exe就是一個(gè)進(jìn)程。
Java程序的進(jìn)程里有幾個(gè)線程:主線程, 垃圾回收線程(后臺(tái)線程)
線程是指進(jìn)程中的一個(gè)執(zhí)行任務(wù)(控制單元),一個(gè)進(jìn)程中可以運(yùn)行多個(gè)線程,多個(gè)線程可共享數(shù)據(jù)。
多進(jìn)程:操作系統(tǒng)中同時(shí)運(yùn)行的多個(gè)程序;
多線程:在同一個(gè)進(jìn)程中同時(shí)運(yùn)行的多個(gè)任務(wù);
一個(gè)進(jìn)程至少有一個(gè)線程,為了提高效率,可以在一個(gè)進(jìn)程中開啟多個(gè)控制單元。
并發(fā)運(yùn)行。如:多線程下載軟件。
可以完成同時(shí)運(yùn)行,但是通過程序運(yùn)行的結(jié)果發(fā)現(xiàn),雖然同時(shí)運(yùn)行,但是每一次結(jié)果都不一致。
因?yàn)槎嗑€程存在一個(gè)特性:隨機(jī)性。
造成的原因:CPU在瞬間不斷切換去處理各個(gè)線程而導(dǎo)致的。
可以理解成多個(gè)線程在搶cpu資源。
二、線程和進(jìn)程的區(qū)別
線程具有許多傳統(tǒng)進(jìn)程所具有的特征,故又稱為輕型進(jìn)程(Light—Weight Process)或進(jìn)程元;
而把傳統(tǒng)的進(jìn)程稱為重型進(jìn)程(Heavy—Weight Process),它相當(dāng)于只有一個(gè)線程的任務(wù)。在引入了線程的操作系統(tǒng)中,通常一個(gè)進(jìn)程都有若干個(gè)線程,至少需要一個(gè)線程。
進(jìn)程與線程的區(qū)別:
1.進(jìn)程有獨(dú)立的進(jìn)程空間,進(jìn)程中的數(shù)據(jù)存放空間(堆空間和棧空間)是獨(dú)立的。
2.線程的堆空間是共享的,棧空間是獨(dú)立的,線程消耗的資源也比進(jìn)程小,相互之間可以影響的。
Java 任務(wù)調(diào)度
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。