如何理解 Java 多執行緒
程序和執行緒的概念是作業系統的概念,因此你可能需要看看大學有關《作業系統原理》這本書中的內容才能理解什麼是程序和執行緒。
簡單來說程序和執行緒涉及到 CPU 的使用和記憶體的分配。
可以想象下你的瀏覽器,如果你打開了一個瀏覽器,表示你啟動了一個程序,如果你再開啟多個標籤頁,表示你啟動了不同的執行緒(敲黑板:瀏覽器啟動不同的標籤頁,其實啟動的是不同的程序,不是啟動執行緒,但這個模式比較容易理解罷了)。
Java 是多執行緒,就意味著在 JVM 中可以為不同的計算啟動不同的執行緒,來加快處理速度。
類比瀏覽器的例子,你開啟一個網頁,等了一段時間,覺得載入太慢了,你去打開了另外的網頁了。
只要涉及到執行緒就會有記憶體共享問題,如果有記憶體貢獻問題就會有執行緒安全和執行緒同步的問題。
既然有執行緒安全和同步的問題,如何理解和解決?
這些問題就是為什麼在面試的時候老被問到的原因。
http://www.ossez.com/t/java/13696
「其他文章」
- 到底應不應該使用 lombok
- Java 8 開始新增的 Optional 類 - Optional 物件中的返回
- Fedora 上如何安裝 gitea
- Ubuntu 安裝 NTP 服務
- 群暉(Synology)NAS 安裝 Mariadb 資料庫啟動錯誤
- 美東某 IoT 公司技術流程第一輪溝通就掛了
- Node 的 cross-env 模組
- Npm 安裝提示 EUNSUPPORTEDPROTOCOL 錯誤
- 使用 Jackson – 將字串轉換為 JsonNode 物件
- 在 Discourse 中如何使用輸入對話方塊
- IntelliJ IDEA 中如何將 POM 中的版本號快速提出為屬性
- RedHat 8 時間同步和時區修改
- JDK 8 及其後續 JDK 中 Period 和 Duration
- POM 檔案中 licenses 許可證的定義
- IntelliJ IDEA 如何顯示提交輸入的資訊歷史
- 前端工程師的 caniuse
- JavaScript 陣列進行拼接的函式
- JavaScript 陣列元素的一些操作
- 如何理解 Java 多執行緒
- JavaScript 中 Array map() 方法