- 相關(guān)推薦
淺談java中線程的基本概念線程的基本狀態(tài)以及狀態(tài)之間的關(guān)系
java中線程的基本概念、線程的基本狀態(tài)以及狀態(tài)之間的關(guān)系
一個程序中可以有多條執(zhí)行線索同時執(zhí)行,一個線程就是程序中的一條執(zhí)行線索,每個線程上都關(guān)聯(lián)有要執(zhí)行的代碼,即可以有多段程序代碼同時運(yùn)行,每個程序至少都有一個線程,即main方法執(zhí)行的那個線程。如果只是一個cpu,它怎么能夠同時執(zhí)行多段程序呢?這是從宏觀上來看的,cpu一會執(zhí)行a線索,一會執(zhí)行b線索,切換時間很快,給人的感覺是a,b在同時執(zhí)行,好比大家在同一個辦公室上網(wǎng),只有一條鏈接到外部網(wǎng)線,其實,這條網(wǎng)線一會為a傳數(shù)據(jù),一會為b傳數(shù)據(jù),由于切換時間很短暫,所以,大家感覺都在同時上網(wǎng)。 狀態(tài):就緒,運(yùn)行,synchronize阻塞,wait和sleep掛起,結(jié)束。wait必須在synchronized內(nèi)部調(diào)用。
調(diào)用線程的start方法后線程進(jìn)入就緒狀態(tài),線程調(diào)度系統(tǒng)將就緒狀態(tài)的線程轉(zhuǎn)為運(yùn)行狀態(tài),遇到synchronized語句時,由運(yùn)行狀態(tài)轉(zhuǎn)為阻塞,當(dāng)synchronized獲得鎖后,由阻塞轉(zhuǎn)為運(yùn)行,在這種情況可以調(diào)用wait方法轉(zhuǎn)為掛起狀態(tài),當(dāng)線程關(guān)聯(lián)的代碼執(zhí)行完后,線程變?yōu)榻Y(jié)束狀態(tài)。
【淺談java中線程的基本概念線程的基本狀態(tài)以及狀態(tài)之間的關(guān)系】相關(guān)文章:
java線程的幾種狀態(tài)02-28
Java多線程的定義狀態(tài)和屬性12-25
關(guān)于多線程基本概念的java基本教程參考01-28
Java多線程的基本使用08-03
Java多線程基本使用03-30
java中如何停止線程08-14
JAVA中終止線程的方法08-12
Java多線程的線程守護(hù)例子06-08