傳統執行緒的建立

2021-08-19 18:42:19 字數 1016 閱讀 2682

編寫執行緒執行時執行的**有兩種方式:一種是建立thread子類的乙個例項並重寫run方法,第二種是建立類的時候實現runnable介面;

一、建立thread子類:

1.繼承thread類建立

public class mythread extends thread

}public class main

}

2.建立

thread的匿名子類:

public class main 

}.start();//建立並啟動執行緒

}}

二、建立

實現runnable介面:

1.實現

runnable

介面

public class myrunnable implenemts runnable

}public class main

}

2.建立

runnable的匿名子類:

public class main 

}).start();//建立並啟動執行緒

}}

這兩種方式都可以建立執行緒,那麼為什麼大家喜歡用「建立

runnable的匿名子類」,而不用「建立

thread的匿名子類」呢?是第一種速度比較快嗎?還是因為什麼?(這是一般新手都會有的疑問)

答案是使用「

建立runnable的匿名子類

」來建立執行緒並不會是的程式執行變快,主要是因為這種方式更加符合物件導向的程式設計思維;

現在再思考乙個問題:下面執行程式會輸出的是什麼?

public class main 

})}.start();//建立並啟動執行緒

}}

能想明白麼?

答案是就是「thread

子類」,原因是子類覆蓋了父類的方法,程式會優先執行子類**;

傳統執行緒的兩種建立方法

傳統建立執行緒的兩種方式 1.直接new thread建立物件 2.利用runnable進行建立 實現 package com.test.threads public class thread01 catch interruptedexception e system.out.println 1 t...

Java傳統執行緒建立方式和互斥

多執行緒並不會提高執行效率,效能更低 多執行緒會搶占cpu的資源,會占用更多的伺服器頻寬,這樣看起來就感覺會更快 建立執行緒有兩種方式 一種是建立thread的子類,覆蓋thread的run方法,還有一種是構造器傳入runnable物件,使用runnable物件的run方法 public class...

傳統執行緒之定時器建立

在業務處理的過程中,我們往往會遇到類似自動任務處理與傳送的需求時,我們該如何處理呢?現在我們建立一般簡單的定時器,以及一些邏輯性思維的小玩意!一 簡單定時器建立 public class main 10000,3000 引數 timertask子類 具體執行的 delay延後執行時間間隔,repea...