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