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