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...