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