Java多執行緒啟動方式

2021-08-30 15:12:08 字數 1669 閱讀 4404

public class mythread extends thread 

//輸出當前執行緒物件名稱和執行次數

}}public static void main(string args)

1、建立執行緒類,並繼承thread類

2、重寫子類的run方法,實現執行緒的執行邏輯結構

3、在main方法中建立自定義執行緒例項

4、通過mythread.start()啟動

兩個重要的方法:

①thread.currentthread(),這是thread類的靜態方法,該方法返回當前的執行緒物件

②getname(),作用於thread類的例項,返回當前執行緒的名稱。在預設情況下,主線程的名稱為main,使用者啟動的多執行緒的名稱依次為thread-0,thread-1,thread-3..thread-n等。

public class thread2 implements runnable	} 

}public class main

}}

1、自定義執行緒類,實現runnable方法

2、重寫run()方法

3、將runnable實現類的具體物件作為例項傳入thread()方法。該thread物件才是真正的執行緒物件

ps:main函式中名沒有直接執行thread2的run方法,而是將thread2填入到了thread中,使用start方法來啟動。runable實現類裡包含run方法,僅僅作為執行緒執行體,而實際的執行緒物件依然是thread例項物件,thread為真正建立執行緒的物件。

4、thread物件通過start()啟動執行緒

main類:

public class main

}}).start();

for (int i = 0; i < 50; i++)

}}

只是不用額外再建立乙個執行緒類,節省了一定的記憶體開支。

public class mycallable implements callable

}public static void main(string args) throws executionexception, interruptedexception

callable介面實際上是屬於executor框架中的功能類,callable介面與runnable介面的功能類似,但提供了比runnable更加強大的功能。

1.callable可以在任務結束的時候提供乙個返回值,runnable無法提供這個功能

2.callable的call方法分可以丟擲異常,而runnable的run方法不能丟擲異常。

thread時單繼承的,而介面是可以實現多個介面,所以通過介面實現仍可以繼承其他父類。

thread繼承方式直接通過建立執行緒的物件來啟動執行緒,而繼承介面則需要先建立介面例項的物件,再將物件傳入到thread()方法中來啟動執行緒。

從多執行緒分享同乙個資源上分析,繼承方法無法做到,而實現介面的方法則可以做到。

類可能只需要可執行就行,繼承乙個thread類的開銷大於實現介面。

多執行緒啟動方式

繼承thread類,並重寫run方法,例項化該類物件,呼叫start方法 示例 public class thread1 extends thread public static void main string args 執行結果 結果不唯一 1 main1 1run1 2run1 3run1 4...

java多執行緒的建立方式

啟動執行緒通過兩種方式實現 1 通過實現runnable介面定義乙個由thread驅動的任務,後通過把自己傳給thread的構造來啟動乙個執行緒 runnable沒有返回值,如需返回值則使用callable介面 實現runnable的乙個任務 public class countdown imple...

java多執行緒與實現方式

執行緒建立有兩種形式 1 實現runnable介面 在thread構造中建立實現了runnable介面的類 呼叫start方法 2 從thread類繼承並重寫run方法 在main函式中就不需要new thread了,直接呼叫start方法 執行緒建立方法一 繼承thread public clas...