創建線程的四種方式
1. 創建線程有四種方式
繼承 Thread 類;
實現 Runnable 接口;
實現 Callable 接口;
使用 Executors 工具類創建線程池
2. 繼承Thread類
2.1 實現步驟
定義一個Thread類的子類;
重寫run方法,將相關邏輯實現,run()方法就是線程要執行的業務邏輯方法;
創建自定義的線程子類對象;
調用子類實例的star()方法來啟動線程。
2.2 運行結果
main main()方法執行結束
Thread-0 run()方法正在執行...
3. 實現 Runnable 接口
3.1 具體步驟
定義Runnable接口實現類MyRunnable,并重寫run()方法;
創建MyRunnable實例myRunnable,以myRunnable作為target創建Thead對象,該Thread對象才是真正的線程對象;
調用線程對象的start()方法。
3.2 執行結果
main main()方法執行完成
Thread-0 run()方法執行中...
4. 實現 Callable 接口
4.1 具體步驟
創建實現Callable接口的類myCallable;
以myCallable為參數創建FutureTask對象;
將FutureTask作為參數創建Thread對象,調用線程對象的start()方法。
4.2 執行結果
Thread-0 call()方法執行中...
返回結果 1
main main()方法執行完成
5. 使用 Executors 工具類創建線程池
5.1 簡介
Executors提供了一系列工廠方法用于創先線程池,返回的線程池都實現了ExecutorService接口。
主要有newFixedThreadPool,newCachedThreadPool,newSingleThreadExecutor,newScheduledThreadPool,后續詳細介紹這四種線程池。
5.2 示例代碼
5.3 執行結果
線程任務開始執行
pool-1-thread-1 is running...
pool-1-thread-1 is running...
pool-1-thread-1 is running...
pool-1-thread-1 is running...
pool-1-thread-1 is running...
更多關于“Java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業,有針對零基礎的就業班,有針對想提升技術的好程序員班,高品質課程助力你實現java程序員夢想。