java線程創建方式

      網友投稿 747 2022-05-30

      1.繼承Thread類

      (1)定義Thread類的子類,并重寫該類的run方法,該run方法的方法體就代表了線程要完成的任務。因此把run() ? ?方法稱為執行體。

      (2)創建Thread子類的實例,即創建了線程對象。

      (3)調用線程對象的start()方法來啟動該線程。

      2.實現Runnable接口

      (1)定義runnable接口的實現類,并重寫該接口的run()方法,該run()方法的方法體同樣是該線程的線程執行體。

      (2)創建 Runnable實現類的實例,并依此實例作為Thread的target來創建Thread對象,該Thread對象才是真正的線程對象。

      (3)調用線程對象的start()方法來啟動該線程。

      3.實現Callable接口

      (1)創建Callable接口的實現類,并實現call()方法,該call()方法將作為線程執行體,并且有返回值

      (2)創建Callable實現類的實例,使用FutureTask類來包裝Callable對象,該FutureTask對象封裝了該Callable對象的call()方法的返回值。

      (3)使用FutureTask對象作為Thread對象的target創建并啟動新線程。

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

      4.使用線程池

      線程和數據庫連接這些資源都是非常寶貴的資源。那么每次需要的時候創建,不需要的時候銷

      毀,是非常浪費資源的。那么我們就可以使用緩存的策略,也就是使用線程池

      >三種方式的優缺點

      采用繼承Thread類方式:

      (1)優點:編寫簡單,如果需要訪問當前線程,無需使用Thread.currentThread()方法,直接使用this,即可獲得當前線程。

      (2)缺點:因為線程類已經繼承了Thread類,所以不能再繼承其他的父類。

      采用實現Runnable接口方式:

      (1)優點:線程類只是實現了Runable接口,還可以繼承其他的類。在這種方式下,可以多個線程共享同一個目標對象,所以非常適合多個相同線程來處理同一份資源的情況,從而可以將CPU代碼和數據分開,形成清晰的模型,較好地體現了面向對象的思想。

      (2)缺點:編程稍微復雜,如果需要訪問當前線程,必須使用Thread.currentThread()方法。

      Runnable和Callable的區別:

      (1)Callable規定的方法是call(),Runnable規定的方法是run().

      (2)Callable的任務執行后可返回值,而Runnable的任務是不能返回值得

      (3)call方法可以拋出異常,run方法不可以,因為run方法本身沒有拋出異常,所以自定義的線程類在重寫run的時候也無法拋出異常

      (4)運行Callable任務可以拿到一個Future對象,表示異步計算的結果。它提供了檢查計算是否完成的方法,以等待計算的完成,并檢索計算的結果。通過Future對象可以了解任務執行情況,可取消任務的執行,還可獲取執行結果。

      start()和run()的區別

      start()方法用來,開啟線程,但是線程開啟后并沒有立即執行,他需要獲取cpu的執行權才可以執行

      run()方法是由jvm創建完本地操作系統級線程后回調的方法,不可以手動調用(否則就是普通方法)

      java線程創建方式

      Java 任務調度

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:使用鯤鵬服務器搭建 hexo 博客
      下一篇:《 Kubernetes進階實戰》一1.3.1Kubernetes集群組件
      相關文章
      亚洲影视一区二区| 亚洲综合激情另类专区| 亚洲精品无码久久千人斩| 国产精品久久久久久亚洲影视| 亚洲久悠悠色悠在线播放| 亚洲国产成人综合| 亚洲伊人精品综合在合线| 777亚洲精品乱码久久久久久| 亚洲伦理一区二区| 亚洲视频欧洲视频| 亚洲精品中文字幕无乱码| 777亚洲精品乱码久久久久久 | 亚洲国产中文字幕在线观看| 偷自拍亚洲视频在线观看99| 国产一区二区三区亚洲综合| 亚洲国产电影av在线网址| 亚洲人成网站观看在线播放| 国产亚洲精品免费视频播放| 亚洲精品无码MV在线观看| 亚洲av午夜福利精品一区人妖| 亚洲AV综合色一区二区三区| 亚洲精品综合一二三区在线| 亚洲欧洲综合在线| 中文字幕 亚洲 有码 在线| 亚洲日韩国产AV无码无码精品| 国产精品亚洲一区二区三区在线观看 | 国产成人人综合亚洲欧美丁香花| 男人的天堂亚洲一区二区三区 | 亚洲AV无码之国产精品| 五月婷婷亚洲综合| 国产成人亚洲精品狼色在线| 午夜亚洲www湿好大| 亚洲国产av高清无码| 亚洲欧美日韩中文高清www777| 另类专区另类专区亚洲| 亚洲精品夜夜夜妓女网| 亚洲男人都懂得羞羞网站| 亚洲国产夜色在线观看| 亚洲另类无码专区丝袜| 亚洲精品高清一二区久久| 亚洲国产另类久久久精品黑人|