首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java 多線程程式設計入門:建立、優先級與同步控制

     編輯:Java 程式設計入門

背景

Java 誕生前,傳統語言同一時刻僅能單任務,效率低落(如等待輸入阻塞)。隨網際網路發展,阻塞導致 CPU 閒置日益不可接受。Java 內建多線程支援,允許一個程式並行執行多個相對獨立的線程,大幅提升執行效率與處理能力。

線程的建立

Java 提供 Thread 類別建立線程,線程即 Thread 或其子類實例。兩種定義執行體 run() 的方式:

  1. 繼承 Thread 類別:定義子類並覆寫 run()。
  2. 實作 Runnable 介面:定義類別實作 Runnable,實現 run(),再以該實例建立 Thread 物件。

線程建立後處於就緒狀態,呼叫 start() 啟動(非直接呼叫 run())。start() 通知系統線程就緒可執行 run(),隨即返回,使呼叫端與線程並行執行。

程式碼範例

// 方式一:繼承 Thread
class Thread1 extends Thread {
    public void run() {
        System.out.println("Thread1 is running...");
    }
}

// 方式二:實作 Runnable
class Thread2 implements Runnable {
    public void run() {
        System.out.println("Thread2 is running...");
    }
}

public class MultiThread {
    public static void main(String[] args) {
        Thread1 t1 = new Thread1();
        Thread t2 = new Thread(new Thread2());
        t1.start();
        t2.start();
    }
}

線程優先級

優先級 1~10(低到高),透過 setPriority(int) 設置。高優先級線程搶佔 CPU 機率較大、時間較長。可在啟動前或啟動後調整。

t1.setPriority(6);
t2.setPriority(3);

線程同步控制

多線程共享資料時,異步存取可能導致資料不一致或邏輯錯誤。Java 提供 synchronized 關鍵字、wait()/notify() 等機制協調線程間對共享資源的存取,確保執行緒安全。(詳細同步機制請參考後續章節)

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved