學習java多執行緒,這必須搞懂的這幾個概念
轉載自 學習java多執行緒,這必須搞懂的這幾個概念,很重要。
同步和非同步
同步,Synchronous,即呼叫方法開始,一旦呼叫就必須等待方法執行完返回才能繼續下面的操作。
舉個例子,你去銀行ATM取錢,你必須等到ATM吐完錢你拿到錢取完卡你才能離開。
非同步,Asynchronous,即不關心方法執行的過程,觸發要呼叫的方法就繼續執行下面的操作,不會像同步那樣阻塞直要到方法完成才繼續。
舉個例子,你這次要取錢,數量較大,你直接電話或者APP預約銀行說你要取多少萬現金,這段時間銀行會為你準備錢,而這與你都沒什麼關係,然後你只要按預定的時候去取就行了,對你於而言,你們是觸發了一個非同步動作而已。
併發和並行
併發,Concurrency,即一段時間內多個任務在執行,但不一定是同時在執行,它們可能是交替在執行,也有可能是序列執行的。
並行,Parallelism,這個就是多個任務在同時執行,可以理解為併發裡面有一部分任務在並行執行。
單核CPU不會有並行操作,應為一個CPU一次只能執行一條指令,並行操作只存在於多核CPU中。
阻塞和非阻塞
阻塞,Blocking,如果一個執行緒佔用了一個公共資源而沒有釋放對它的鎖,另外別的一些執行緒想要繼續執行就只能等它釋放鎖,這時候就造成阻塞了。
非阻塞,Non-Blocking,就是沒有阻塞,執行緒可以自由執行,沒有鎖定公共資源,不相互阻塞執行。
相關文章
- 學習Python,這些你必須搞懂!Python
- 深度學習入門必須理解這25個概念深度學習
- 執行緒、多執行緒和執行緒池,看完這些你就能全部搞懂了執行緒
- Java多執行緒學習(一)Java多執行緒入門Java執行緒
- Java多執行緒學習Java執行緒
- 談談這幾個常見的多執行緒面試題執行緒面試題
- Java多執行緒學習——執行緒通訊Java執行緒
- Java多執行緒學習(2)執行緒控制Java執行緒
- #大學#Java多執行緒學習02(執行緒同步)Java執行緒
- 【行業動態】使用動態ip軟體前,這幾個概念你必須弄懂!行業
- Java 多執行緒NIO學習Java執行緒
- 【java】【多執行緒】程式、執行緒的基本概念(1)Java執行緒
- 這幾個python常用的庫你必須知道!Python
- Java多執行緒就是這麼簡單Java執行緒
- Java多執行緒詳解——一篇文章搞懂Java多執行緒Java執行緒
- Java 多執行緒學習筆記Java執行緒筆記
- Java多執行緒學習(3)執行緒同步與執行緒通訊Java執行緒
- Java多執行緒學習(1)建立執行緒與執行緒的生命週期Java執行緒
- 好程式設計師Java學習路線分享多執行緒概念程式設計師Java執行緒
- Java多執行緒學習(八)執行緒池與Executor 框架Java執行緒框架
- 搞懂Java執行緒池Java執行緒
- 探討Java中的多執行緒概念 - foojayJava執行緒
- Java多執行緒學習筆記(自用)Java執行緒筆記
- 多執行緒學習一(多執行緒基礎)執行緒
- java 多執行緒之使用 interrupt 停止執行緒的幾種方法Java執行緒
- 【Java】多執行緒複習Java執行緒
- CompletableFuture必須加上執行緒池!!執行緒
- java執行緒池趣味事:這不是執行緒池Java執行緒
- Java多執行緒學習(六)Lock鎖的使用Java執行緒
- 這篇 Java 多執行緒,你一定能看懂學會!Java執行緒
- java 執行緒學習Java執行緒
- 最全java多執行緒學習總結1--執行緒基礎Java執行緒
- iOS 多執行緒-學習iOS執行緒
- 多執行緒學習(二)執行緒
- 多執行緒學習一執行緒
- 零基礎學Java,必須要搞懂的10個問題!Java
- 面試官:這就是你理解的Java多執行緒基礎?面試Java執行緒
- Java 多執行緒基礎(一)基本概念Java執行緒