您好,登錄后才能下訂單哦!
這篇文章主要講解了“java多線程的基礎概念是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“java多線程的基礎概念是什么”吧!
同步和異步
同步,Synchronous,即調用方法開始,一旦調用就必須等待方法執行完返回才能繼續下面的操作。
舉個例子,你去銀行ATM取錢,你必須等到ATM吐完錢你拿到錢取完卡你才能離開。
異步,Asynchronous,即不關心方法執行的過程,觸發要調用的方法就繼續執行下面的操作,不會像同步那樣阻塞直要到方法完成才繼續。
舉個例子,你這次要取錢,數量較大,你直接電話或者APP預約銀行說你要取多少萬現金,這段時間銀行會為你準備錢,而這與你都沒什么關系,然后你只要按預定的時候去取就行了,對你于而言,你們是觸發了一個異步動作而已。
并發和并行
并發,Concurrency,即一段時間內多個任務在執行,但不一定是同時在執行,它們可能是交替在運行,也有可能是串行運行的。
并行,Parallelism,這個就是多個任務在同時執行,可以理解為并發里面有一部分任務在并行執行。
單核CPU不會有并行操作,應為一個CPU一次只能執行一條指令,并行操作只存在于多核CPU中。
阻塞和非阻塞
阻塞,Blocking,如果一個線程占用了一個公共資源而沒有釋放對它的鎖,另外別的一些線程想要繼續執行就只能等它釋放鎖,這時候就造成阻塞了。
非阻塞,Non-Blocking,就是沒有阻塞,線程可以自由運行,沒有鎖定公共資源,不相互阻塞運行。
感謝各位的閱讀,以上就是“java多線程的基礎概念是什么”的內容了,經過本文的學習后,相信大家對java多線程的基礎概念是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。