執行緒主要發揮作用的時候:當乙個執行緒所執行的i/o被阻塞的時候,同一程序中的其他執行緒可以使用cpu來進行計算。這樣,就提高了程式的執行效率。
狀態:執行、就緒(等待被呼叫)、阻塞(等待i/o資源)
兩種建立方法:
繼承thread類,並override其中的run()方法(當乙個類沒有繼承其他類的時候,適合用這種方法)
實現runnable介面,並實現run()方法(當乙個類已經繼承另外乙個類的時候,適合用這種方法)
通過使用自定義的構造方法傳遞各種引數。
啟動:獲得thread物件後呼叫start()方法。
方法一:繼承thread類
public class mythread1 extends thread
public void run()
public static void main(string args)
}
方法二:實現runnable介面
public class mythread implements runnable
@override
public void run()
public static void main(string args)
}
一般情況下,可以使用乙個內部類來定義另外乙個執行緒:
/**
* 啟動子執行緒的方式(使用內部類定義另外乙個執行緒)
* @author xujijun
* */
public class mythread
/*** 內部類,實現子執行緒
* */
private class anotherthread extends thread
@override
public void run()
}}
等待和喚醒機制:
使用object.wait()和object.notify(),必須在同步方法或同步塊裡呼叫
使用join()方法等待另外乙個執行緒的終止,如:
a.join();
system.out.print("end"); //等待執行緒a結束後再列印出「end」
sleep()和wait()的區別:
)
建立執行緒的方式
thread 類進行派生並覆蓋 run方法 實現runnable介面建立 public class createthread start0會呼叫run方法,如果runnable null 會執行run方法,2.如果在構造thread的時候沒有傳遞或沒有複寫thread的run方法,該thread將不...
執行緒的建立方式
繼承thread類實現 實現runnable介面方式 實現callable介面方式 其中前兩種比較常用。但是,需要有返回值需要實現callable介面。繼承thread類,並重寫run方法 public class mythread extends thread mythread thread ne...
建立執行緒的方式
建立乙個執行緒主要有以下幾種方法 繼承thread類建立執行緒 是將乙個類宣告為thread的子類,這個子類應該重寫thread類的run方法,然後例項化這個子類物件並呼叫start方法。thread類本質上是實現了runnable介面的乙個例項。public class testthread ex...