Java實現線程插隊的示例代碼
多線程5(線程插隊)
1.題目
在編寫多線程的業務時,會遇到讓一個線程優先於其他線程運行的情況,除瞭可以設置線程的優先級高於其他線程,還有更直接的方式:使用Thread類的join()方法。
實現:實現線程插隊
2.解題思路
創建一個類:EmergencyThread,實現Runnable接口
在run()方法中,每隔0.1秒輸出一條語句。
寫一個測試類:JoinThread用來進行測試。
在類中使用EmergencyThread創建並運行新的線程。
使用join()方法讓新線程優先於當前線程運行
Thread是程序中的執行線程。JAVA虛擬機允許應用程序並發地運行多個執行線程。
Thread.join():設置瞭join的線程會優先於其他線程先執行。
註:可以把Thread.join()註釋掉,對比下運行結果。
3.代碼詳解
EmergencyThread
package com.xiaoxuzhu; /** * Description: * * @author xiaoxuzhu * @version 1.0 * * <pre> * 修改記錄: * 修改後版本 修改人 修改日期 修改內容 * 2022/5/14.1 xiaoxuzhu 2022/5/14 Create * </pre> * @date 2022/5/14 */ public class EmergencyThread implements Runnable { @Override public void run() { for (int i = 1; i < 6; i++) { try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("緊急情況:" + i + "號車出發!"); } } }
JoinThread
public class JoinThread { public static void main(String[] args) { Thread thread = new Thread(new EmergencyThread()); thread.start(); for (int i = 1; i < 6; i++) { try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("正常情況:" + i + "號車出發!"); try { thread.join(); } catch (InterruptedException e) { e.printStackTrace(); } } } }
註釋掉代碼Thread.join()
到此這篇關於Java實現線程插隊的示例代碼的文章就介紹到這瞭,更多相關Java線程插隊內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 一篇文章掌握Java Thread的類及其常見方法
- Java查看線程運行狀態的方法詳解
- 一文詳解Java閉鎖和柵欄的實現
- java多線程join()方法的作用和實現原理解析(應用場景)
- Java多線程Thread類的使用及註意事項