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

Java 多線程程式設計實戰(一):基礎概念與線程優勢

     編輯:Java 相關知識

Java 語言級支援讓多線程開發比 C/C++ 直觀得多。本系列透過簡單範例展示多線程如何自然融入 Java 程式,讀者可快速上手編寫基礎多線程程式。

為何需要多線程?

單線程程式依序執行四項無關任務:列印、檔案操作、資料庫存取、螢幕繪圖。每項任務因硬體/軟體潛在延遲皆含等待時間,導致資源利用率低、使用者等待久。

class MyClass {
    static public void main(String args[]) {
        printAFile();
        manipulateAnotherFile();
        accessDatabase();
        drawPictureOnScreen();
    }
}

現實生活的多線程隱喻

寫信時派兒子去買郵票——兩項任務並行,互不阻塞。軟體術語稱為「多重控制線程」。

兩種獲得多線程的方式

1. 多進程

  • OS 建立獨立進程,各有獨立記憶體空間
  • 進程間通訊 (IPC) 困難,不利資料共享
  • 建立銷毀開銷大(處理器時間、記憶體)

2. 線程

  • 輕量級進程 (LWP),單一進程內共享記憶體
  • 建立銷毀廉價,天然支援協作與資料交換
  • 需 OS 支援,Java 將線程支援整合進語言核心,提供強健跨平台保證

結語

多線程非增加 CPU 能力,但能讓等待型任務(網路、資料庫、UI)並行,充分利用多核硬體。下集將介紹具體實作機制。

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