void start(): 啟動執行緒,並執行物件的run()方法
run(): 執行緒在被排程時執行的操作。通常需要重寫此方法,將建立的執行緒需要執行的操作寫在裡面。
string getname(): 返回執行緒的名稱
void setname(string name):設定該執行緒名稱
static thread currentthread(): 返回當前執行緒。在thread子類中就是this,通常用於主線程和runnable實現類。—thread.currentthread().getname()
boolean isalive():返回boolean,判斷執行緒是否還活著。
public
class
jointhread
catch
(interruptedexception e)}}
);thread thread2 =
newthread
(new
runnable()
catch
(interruptedexception e)}}
);thread2.
start()
;// 先開啟執行緒2
thread.
sleep
(200);
thread1.
start()
;// 在開啟執行緒1}}
//結果 執行緒2先啟動,當執行到thread1.join()時,執行緒2停止執行,等待執行緒1執行結束,雖然執行緒1啟動比執行緒2遲,但是只有當執行緒1執行結束後,執行緒2才能繼續執行。
執行緒2開始執行...
..執行緒1開始執行...
..執行緒1執行結束...
..執行緒2執行結束...
.
static void yield():執行緒讓步。暫停當前正在執行的執行緒,把執行機會讓給優先順序相同或更高的執行緒。若佇列中沒有同優先順序的執行緒,忽略此方法。執行緒執行yield方法轉入就緒狀態,可能馬上又得到執行。
static void sleep(long millis)(毫秒): 令當前活動執行緒在指定時間段內放棄對cpu控制,進入阻塞狀態,使其他執行緒有機會被執行,不考慮優先順序,不釋放鎖。
時間到後重排隊返回到可執行狀態(就緒),不是執行狀態。丟擲interruptedexception異常。如果呼叫執行緒物件.sleep()方法並不是該執行緒就休眠,在哪乙個執行緒裡面執行了sleep()方法哪乙個執行緒就休眠。
//sleep方法舉例
public
class
threadsleep
catch
(interruptedexception e)}}
}); thread thread2 =
newthread
(new
runnable()
}});
thread1.
start()
;//開啟執行緒1
//讓主線程稍等片刻,確保執行緒1已經執行
thread.
sleep
(300);
thread2.
start()
;//開啟執行緒2}}
//結果
執行緒1開啟執行...
.執行緒1搶到了鎖...
.執行緒2開啟執行...
.執行緒1執行結束...
..執行緒2搶到了鎖...
.執行緒2執行結束...
..
wait()可以讓執行緒從執行態轉換為阻塞態,同時還會釋放執行緒的同步鎖。
相同點:一旦執行方法,都可以使得當前的執行緒進入阻塞狀態。
不同點:
public
class
threadwait
catch
(interruptedexception e)}}
);thread thread2 =
newthread
(new
runnable()
}); thread1.
start()
;//開啟執行緒1
//讓主線程稍等片刻,確保執行緒1已經執行
thread.
sleep
(200);
thread2.
start()
;//開啟執行緒2}}
//結果 執行緒2執行結束後,由於執行緒1沒有被喚醒,所以一直阻塞在那裡......可以使用帶有引數的wait(long mills),當等待的時間結束後,執行緒會被自動喚醒
執行緒1搶到了鎖...
.執行緒2搶到了鎖...
.執行緒2執行結束...
..
第4章多執行緒
package bao9 第4章多執行緒 4.編寫乙個程式,建立兩個執行緒物件,每個執行緒輸出1 5的數。要求執行緒類分別使用繼承thread類和實現runnable介面兩種方式建立。public class demo1 extends thread implements runnable pack...
建立多執行緒的4種方式 Thread類中的常用方法
多執行緒的建立方式一 繼承於thread類 1.建立乙個繼承於thread類的子類 2.重寫thread類的run 將此執行緒執行的操作宣告在run 中 3.建立thread類的子類的物件 4.通過此物件呼叫start 說明兩個問題 問題一 我們啟動乙個執行緒,必須呼叫start 不能呼叫run 的...
C 中的多執行緒使用 Thread 類
好文,現在c 已經建議擯棄使用 suspend,resume 暫停 恢復執行緒,也盡量少用 abort方法中斷乙個執行緒.建議使用執行緒的同步手段有 mutex manualresetevent autoresetevent,monitor.下面再對此進行詳細描述.thread類的建構函式有2類 一...