初始狀態:就是剛剛new乙個runnable或者thread的子類
可執行: 呼叫start()方法。呼叫start()方法並不會立即執行,而是得到cpu時間片後才執行
終止:run()方法執行結束
執行緒阻塞的幾種方式
第一種方式阻塞io,比如讀取使用者在控制台輸入的一行資料
scanner sc=new scanner(system.in);
sc.nextline();
第二種:呼叫執行緒的wait(),這個方法會阻塞執行緒,並且釋放執行緒持有的鎖。這是object類的方法
第三種:呼叫執行緒物件的join(),它會等待該執行緒物件出現終止狀態,也就是run()方法執行結束。內部的實現是使用wait()
public
final
synchronized
void
join(long millis)
throws interruptedexception
if (millis == 0)
} else
wait(delay);
now = system.currenttimemillis() - base;}}
}
第四種方式:呼叫thread類的靜態方法sleep(m),該執行緒會睡m毫秒,也就是 阻塞m 毫秒,m毫秒後進入可執行狀態。但是執行緒不會釋放鎖。 Java上路04 流程控制語句
一 條件判斷語句 1.if else,如果,否則。當if的條件成立時,執行if語句塊,忽略else語句塊,if 條件 else 例子 2.if elseif else,如果,或者如果,否則當第乙個if不成立時,會判斷緊跟著的else if語句,如果還不成立,執行else if 條件1 else if...
java 執行緒 執行緒同步
threadlocal與其它同步機制的比較 threadlocal和其他所有的同步機制都是為了解決多執行緒中的對同一變數的訪問衝突。在普通的同步機制中,是通過對物件加鎖來實現多個執行緒對同一變數的安全訪問的。這時該變數是多個執行緒共享的,使用這種同步機制需要很細緻的分析在什麼時候對變數進行讀寫,什麼...
Java執行緒 執行緒狀態
執行緒可以建立6狀態 new 新建立 runnable 可執行 blocked 被阻塞 waiting 等待 timed waiting 計時等待 terminated 被終止 1 新建執行緒 2 可執行執行緒 一旦呼叫start 方法,執行緒就處於runnable狀態,但是卻不必保持執行。執行中的...