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

Java 多執行緒:平行控制、執行緒定義、共享資源鎖定、synchronized 關鍵字、語言內建支援

     編輯:Java 相關知識

核心需求

  • 同時控制多任務
  • 暫停當前工作處理其他問題 → 返回主流程

演進歷程

  • 早期:硬體中斷服務例程 → 移植性差
  • 即時任務仍需中斷
  • 大多數問題:切分為獨立執行片段 → 更快響應用戶

執行緒定義

  • 程式中獨立運行的片段 = Thread
  • 利用它編程 = 多執行緒處理
  • 經典例:UI 執行緒 — 按鈕即時響應,不等待當前任務完成

處理器抽象化

  • 初期:單處理器時間分割工具
  • 多處理器 OS 支援 → 每執行緒分派不同處理器 → 真正平行運算
  • 語言層面:程式設計師無需關心處理器數量
  • 邏輯切分執行緒,硬體多核心自動加速,零調校

核心難題:共享資源

  • 多執行緒同時存取同一資源 → 衝突
  • 例:兩進程不可同時傳送資料給印表機
  • 解法:可共享資源使用期間必須鎖定
  • 一執行緒鎖定 → 完成 → 釋放 → 其他執行緒接續

Java 內建機制

  • 多執行緒內建於語言,簡化複雜問題
  • 物件層級支援:一執行緒 = 一物件
  • 有限資源鎖定:可鎖定任意物件佔用記憶體
  • synchronized 關鍵字:同一時間僅一執行緒使用特定記憶體
  • 其他資源:程式設計師明確建立鎖物件,所有執行緒存取前檢查
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved