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