Java多線程機制 進程與線程 操作系統(tǒng)與進程:程序是一段靜態(tài)的代碼,它是應(yīng)用軟件執(zhí)行的藍本。 進程是程序的一次動態(tài)執(zhí)行過程,它對應(yīng)了從代碼加載、執(zhí)行至執(zhí)行完畢的一個完整過程,這個過程也是進程本身從產(chǎn)生、發(fā)展至消亡的過程。 現(xiàn)代操作系統(tǒng)可以同時管理一個計算機系統(tǒng)中的多個進程,即可以讓計算機系統(tǒng)中的多個進程輪流使用CPU資源。 (線程是比進程更小的執(zhí)行單位,一個進程在其執(zhí)行過程中,可以產(chǎn)生多個線程,形成多條執(zhí)行線索,每條線索,即每個線程也有它自身的產(chǎn)生、存在和消亡的過程。 線程間可以共享進程中的某些內(nèi)存單元(包括代碼與數(shù)據(jù)),線程的中斷與恢復(fù)可以更加節(jié)省系統(tǒng)的開銷 ) Java中的線程:線程是比進程更小的執(zhí)行單位,一個進程在其執(zhí)行過程中,可以產(chǎn)生多個線程,形成多條執(zhí)行線索,每條線索,即每個線程也有它自身的產(chǎn)生、存在和消亡的過程。 線程間可以共享進程中的某些內(nèi)存單元(包括代碼與數(shù)據(jù)),線程的中斷與恢復(fù)可以更加節(jié)省系統(tǒng)的開銷 子類創(chuàng)建線程:在Java語言中,用Thread類或子類創(chuàng)建線程對象。 在編寫Thread類的子類時,需要重寫父類的run()方法,其目的是規(guī)定線程的具體操作,否則線程就什么也不做,因為父類的run()方法中沒有任何操作語句。
|