一篇文中細看Java多線程的創建方式
前言
Java現在有四種創建的方式:繼承Threa類、實現Runnable接口、實現Callable接口、線程池
Thread、Runnable都在java.lang包下;Callable、線程池都在java.util.concurrent包下
1.繼承Thread類,重寫run方法
創建一個類繼承Thread類,並重寫run();因為run()是線程具體執行的方法。
在測試類或者main()創建Thread對象,並調用start()啟動線程
備註:start()是啟動線程,run()是線程執行的業務方法
2.實現Runnable接口,通過參數方式創建線程
創建一個類實現Runnable接口並重寫run()
在測試類或者main()創建Thread對象,並傳入該接口實現類對象,並調用start()啟動線程
3.實現Callable接口,通過FutureTask來創建線程
創建一個類實現Callable接口,重寫call()call()支持有返回值和拋異常Callable支持泛型
傳入Callable對象,創建FutureFask類
備註:FutureTask實現瞭Runnable接口;FutureTask.get()可以獲取call()返回值
創建Thread對象,並調用start方法啟動線程
4.通過線程池方式創建線程
創建一個類實現Runnable或者Callable接口,並重寫對應方法
創建一個線程池對象,並執行execute方法啟動線程
備註:可以通過線程池方式管理線程個數等配置信息
幾種創建方式想必大傢都已瞭解,但在實際開發中大多數都是以線程池來操作線程的;
線程池優勢:提升響應速度,提高資源重用率,便於管理
線程的生命周期
總結
到此這篇關於一篇文中細看Java多線程的創建方式的文章就介紹到這瞭,更多相關Java多線程創建方式內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java多線程的常用創建方式總結
- Java並發教程之Callable和Future接口詳解
- Java使用Runnable和Callable實現多線程的區別詳解
- Java多線程之FutureTask的介紹及使用
- Java線程的三種創建方式