JAVA實現(xiàn)線程的三種方法
更新時間:2013年09月11日 15:39:40 作者:
這篇文章介紹了JAVA實現(xiàn)線程的三種方法,有需要的朋友可以參考一下
(1)繼承Thread類,重寫run函數(shù)
創(chuàng)建:
class xx extends Thread{
public void run(){
Thread.sleep(1000) //線程休眠1000毫秒,sleep使線程進入Block狀態(tài),并釋放資源
}}
開啟線程:
對象.start() //啟動線程,run函數(shù)運行
(2)實現(xiàn)Runnable接口,重寫run函數(shù)
開啟線程:
Thread t = new Thread(對象) //創(chuàng)建線程對象
t.start()
(3)實現(xiàn)Callable接口,重寫call函數(shù)
Callable是類似于Runnable的接口,實現(xiàn)Callable接口的類和實現(xiàn)Runnable的類都是可被其它線程執(zhí)行的任務。
Callable和Runnable有幾點不同:
①Callable規(guī)定的方法是call(),而Runnable規(guī)定的方法是run().
②Callable的任務執(zhí)行后可返回值,而Runnable的任務是不能返回值的
③call()方法可拋出異常,而run()方法是不能拋出異常的。
④運行Callable任務可拿到一個Future對象,F(xiàn)uture表示異步計算的結果。它提供了檢查計算是否完成的方法,以等
待計算的完成,并檢索計算的結果.通過Future對象可了解任務執(zhí)行情況,可取消任務的執(zhí)行,還可獲取任務執(zhí)行的結果
創(chuàng)建:
class xx extends Thread{
public void run(){
Thread.sleep(1000) //線程休眠1000毫秒,sleep使線程進入Block狀態(tài),并釋放資源
}}
開啟線程:
對象.start() //啟動線程,run函數(shù)運行
(2)實現(xiàn)Runnable接口,重寫run函數(shù)
開啟線程:
Thread t = new Thread(對象) //創(chuàng)建線程對象
t.start()
(3)實現(xiàn)Callable接口,重寫call函數(shù)
Callable是類似于Runnable的接口,實現(xiàn)Callable接口的類和實現(xiàn)Runnable的類都是可被其它線程執(zhí)行的任務。
Callable和Runnable有幾點不同:
①Callable規(guī)定的方法是call(),而Runnable規(guī)定的方法是run().
②Callable的任務執(zhí)行后可返回值,而Runnable的任務是不能返回值的
③call()方法可拋出異常,而run()方法是不能拋出異常的。
④運行Callable任務可拿到一個Future對象,F(xiàn)uture表示異步計算的結果。它提供了檢查計算是否完成的方法,以等
待計算的完成,并檢索計算的結果.通過Future對象可了解任務執(zhí)行情況,可取消任務的執(zhí)行,還可獲取任務執(zhí)行的結果
相關文章
spring cloud 之 Feign 使用HTTP請求遠程服務的實現(xiàn)方法
下面小編就為大家?guī)硪黄猻pring cloud 之 Feign 使用HTTP請求遠程服務的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06elasticsearch?java客戶端action的實現(xiàn)簡單分析
這篇文章主要為大家介紹了elasticsearch?java客戶端action的實現(xiàn)簡單分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-04-04java 定時同步數(shù)據(jù)的任務優(yōu)化
這篇文章主要介紹了java 定時同步數(shù)據(jù)的任務優(yōu)化,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2020-12-12Java模擬實現(xiàn)HTTP服務器項目實戰(zhàn)
本文主要介紹了Java模擬實現(xiàn)HTTP服務器項目實戰(zhàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03