java當中實現執行緒的兩種方法

2021-06-19 23:47:56 字數 785 閱讀 3536

1,繼承thread類,然後重寫run方法

2,實現runnable介面,然後重寫run方法

兩種方法的區別於聯絡(平時我們盡量使用實現介面的方法來實現執行緒)

啟動方式不同

thread類:只需要new乙個例項就能夠呼叫start方法 例如:

cat cat=new cat();

cat.start();

runnable介面:首先new乙個runnable例項 例如:

cat cat=new cat();

thread t=new thread(cat)

t.start();

注意

不論是通過繼承thread,還是通過實現runnable介面,建立執行緒

他們的物件 只能start一次,否則會出現異常。

ticketwindow tw1=new ticketwindow();

thread t1=new thread(tw1);

t1.start();

t1.start();

以上的方法是不行的

但是一下方法是可行的(因為這裡建立了三個程序)

ticketwindow tw1=new ticketwindow();

thread t1=new thread(tw1);

thread t2=new thread(tw1);

thread t3=new thread(tw1);

t1.start();

t2.start();

t3.start();

JAVA 多執行緒 兩種方法的比較

一 繼承thread類 1 首先定義乙個類去繼承thread父類,重寫父類中的run 方法。在run 方法中加入具體的任務 或處理邏輯。2 直接建立乙個threaddemo2類的物件,也可以利用多型性,變數宣告為父類的型別。3 呼叫start方法,執行緒t啟動,隱含的呼叫run 方法。二 實現run...

建立執行緒的兩種方法

有兩種方式 從tread中派生出新的子類 實現runnable介面 還有一種習慣用法 一 從tread中派生出新的子類 建立片段 給執行緒起名 a,並建立 new 型別 執行緒名字 start 完整的建立乙個執行緒,並呼叫 為了給執行緒起名字,建立了域name,並類裡邊建立了構造器 public c...

java判斷回文的兩種方法

第一種 面向過程 從字串str.length 2開始向兩端移動進行對比 boolean用來確定乙個返回值判斷是否回文 scanner input new scanner system.in tryif c false system.out.println integer is not a palin...