站長資訊網
最全最豐富的資訊網站

五種方法!Java創建多線程總結

本篇文章給大家帶來了關于java的相關知識,其中主要總結介紹了創建多線程的五種方法,包括了繼承Thread類、實現Runnable接口、實現Callable接口、繼承TimerTask類和通過線程池啟動多線程,希望對大家有幫助。

五種方法!Java創建多線程總結

推薦學習:《java學習教程》

Java創建多線程的五種方法

  • 僅作為Java編程的交流和學習,如有問題還望不吝賜教。歡迎補充和交流,轉載請注明!

(一)繼承Thread類

1.實現描述

  • 通過繼承Thread并且重寫其run( ),run方法中定義需要執行的任務。創建后的子類通過調用start( )方法即可執行線程方法。
  • 通過繼承Thread實現的線程類,多個線程間無法共享線程類的實例變量。需要創建不同Thread對象,自然不共享資源。

2.具體步驟

1)定義UserThread類,繼承Thread類
2)重寫run( )方法
3)創建UserThread對象
4)調用start( )方法

3.代碼實現

五種方法!Java創建多線程總結
五種方法!Java創建多線程總結
五種方法!Java創建多線程總結

4.注意事項

  • 數據資源不共享,多個線程分別完成自己的任務。比如三個售票窗口同時售票,各自賣各自的票,會出現三個售票窗口出售同一張票的問題。

(二)實現Runnable接口

1.實現描述

  • 需要先定義一個類實現Runnable接口并重寫該接口的run( )方法,此run方法是線程執行體。接著創建 Runnable實現類的對象,作為創建Thread對象的參數target,此Thread對象才是真正的線程對象。
  • 利用實現Runnable接口的線程類創建對象,可以實現線程之間的資源共享。

2.具體步驟

1)定義一個UserRun類,實現Runnble接口
2)重寫run( )方法
3)創建UserRun類的對象
4)創建Thread類的對象,UserRun類的對象作為Thread類構造方法的參數
5)啟動線程

3.代碼實現

五種方法!Java創建多線程總結
五種方法!Java創建多線程總結
五種方法!Java創建多線程總結

4.注意事項

  • 數據資源共享,多個線程共同完成一個任務(多個線程共享了創建線程對象的資源)。比如三個售票窗口(三個線程)同時售票(MyThread類中的ticket),三個線程共同使用資源。

(三)實現Callable接口

1.實現描述

  • Callable接口如同Runable接口的升級版,其提供的call( )方法將作為線程的執行體,同時允許有返回值。
  • Callable對象不能直接作為Thread對象的target,因為Callable接口是 Java5 新增的接口,不是Runnable接口的子接口。
  • 對于這個問題的解決方案,就引入 Future接口,此接口可以接受call( )的返回值,RunnableFuture接口是Future接口和Runnable接口的子接口,可以作為Thread對象的target。

2.具體步驟

1)定義類UserCallable,實現Callable接口
2)重寫call( )方法
3)創建UserCallable的對象
4)創建RunnableFuture接口的子類FutureTask的對象,構造函數的參數是UserCallable的對象
5)創建Thread類的對象,構造函數的參數是FutureTask的對象
6)啟動線程

3.代碼實現

五種方法!Java創建多線程總結
五種方法!Java創建多線程總結
五種方法!Java創建多線程總結

4.注意事項

  • 數據資源共享,多個線程共同完成一個任務(多個線程共享了創建線程對象的資源)。比如三個售票窗口(三個線程)同時售票(MyThread類中的ticket),三個線程共同使用資源。同時,線程調用完畢后還會帶有返回值

(四)繼承TimerTask類

1.實現描述

  • 定時器類Timer和TimerTask可以做為實現線程的另一種方式。
  • Timer是一種線程設施,用于安排以后在后臺線程中執行的任務。可安排任務執行一次,或者定期重復執行,可以看成一個定時器,可以調度TimerTask。
  • TimerTask是一個抽象類,實現了Runnable接口,所以具備了多線程的能力。

2.具體步驟

1)定義類UserTimerTask,繼承抽象類TimerTask
2)創建UserTask類的對象
3)創建Timer類的對象,設置任務的執行策略

3.代碼實現

五種方法!Java創建多線程總結
五種方法!Java創建多線程總結

五種方法!Java創建多線程總結

4.注意事項

  • 定時器類創建線程
贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品男人影院| 第一福利永久视频精品| 国产精品麻豆高清在线观看| 国产成人久久精品一区二区三区 | 日韩电影一区二区| 国产精品你懂的在线播放| 国产精品免费观看| 精品综合久久久久久98| 99re国产精品| 日韩人妻无码精品久久久不卡 | 精品一区二区三区免费观看| 日韩在线视精品在亚洲| 日韩精品无码免费专区午夜不卡| 在线观看国产精品va| 国产精品久久久福利| 亚洲高清国产拍精品熟女| 麻豆AV无码精品一区二区| 亚洲精品第一国产综合野| 精品久久久久久亚洲精品| 日韩精品无码一区二区三区不卡 | 无码欧精品亚洲日韩一区| 国产精品无码久久久久久久久久| 久久无码av亚洲精品色午夜| 在线精品亚洲一区二区| www.999精品视频观看免费| 精品午夜福利无人区乱码一区| 国产成人亚洲合集青青草原精品| 麻豆国产精品无码视频| 55夜色66夜色国产精品| 91精品福利在线观看| 91精品国产91久久久久久蜜臀| 亚洲视频国产精品| 精品国产一区二区三区不卡| 精品麻豆丝袜高跟鞋AV| 精品国产一区二区三区久久久狼| 亚洲91精品麻豆国产系列在线| 亚洲午夜精品一区二区公牛电影院| 久久精品国产亚洲AV蜜臀色欲| 精品无码成人片一区二区98| 国产精品福利一区二区久久| 亚洲精品一二三区|