球探球探网足球手机 > Java資訊 > java多線程項目,實現Java多線程的方式

球探球探网足球手机:java多線程項目,實現Java多線程的方式

更新時間:2020-04-09 14:54 瀏覽80次 來源:動力節點

球探球探网足球手机 www.607737.live

    第一種方法:繼承Thread類


java多線程項目,實現Java多線程的方式


    第二種方法:實現Runnable接口


java多線程項目,實現Java多線程的方式


    第三種方法:使用匿名內部類創建線程


java多線程項目,實現Java多線程的方式


    第四種方法:使用Callable和Future創建線程


    和Runnable接口不一樣,Callable接口提供了一個call()方法作為線程執行體,call()方法比run()方法功能要強大。


    ①call()方法可以有返回值


    ②call()方法可以聲明拋出異常


    ③Java5提供了Future接口來代表Callable接口里call()方法的返回值,并且為Future接口提供了一個實現類FutureTask,這個實現類既實現了Future接口,還實現了Runnable接口,因此可以作為Thread類的target。在Future接口里定義了幾個公共方法來控制它關聯的Callable任務。


    ④booleancancel(booleanmayInterruptIfRunning):視圖取消該Future里面關聯的Callable任務


    ⑤Vget():返回Callable里call()方法的返回值,調用這個方法會導致程序阻塞,必須等到子線程結束后才會得到返回值


    ⑥Vget(longtimeout,TimeUnitunit):返回Callable里call()方法的返回值,最多阻塞timeout時間,經過指定時間沒有返回拋出TimeoutException


    ⑦booleanisDone():若Callable任務完成,返回True


    booleanisCancelled():如果在Callable任務正常完成前被取消,返回True


    創建步驟如下:


    1】創建Callable接口的實現類,并實現call()方法,然后創建該實現類的實例(從java8開始可以直接使用Lambda表達式創建Callable對象)。


    2】使用FutureTask類來包裝Callable對象,該FutureTask對象封裝了Callable對象的call()方法的返回值


    3】使用FutureTask對象作為Thread對象的target創建并啟動線程(因為FutureTask實現了Runnable接口)


    4】調用FutureTask對象的get()方法來獲得子線程執行結束后的返回值


java多線程項目,實現Java多線程的方式

java多線程項目,實現Java多線程的方式

java多線程項目,實現Java多線程的方式


 以上就是動力節點java培訓機構的小編針對“java多線程項目,實現Java多線程的方式”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


熱門課程推薦

全部班型支持免費試學

動力節點在線報名表(此信息已加密,請放心填寫)

返回頂部
{ganrao} 中国多乐彩怎么下载 开元棋牌? 江西多乐彩加奖 双码四八是什么数字 大富翁官方下载手机版 哈尔滨麻将机排风 买两肖中了10块赔多少 中超直播 闲来浙江麻将ios下载 哪个网站上有e球彩 苹果怎么安装不了微乐 快乐8官网app 财神捕鱼官网手机版 血流麻将怎么打赢的多 pk10冠亚军玩法 快速提现真钱手机捕鱼