国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

同步、異步、堵塞、非堵塞概念總結

caikeal / 3460人閱讀

摘要:總結同步服務依賴任務的執行結果異步服務不依賴任務的執行結果阻塞服務執行時線程會出現等待狀態非阻塞不服務執行時線程不會出現等待狀態

同步、異步、堵塞、非堵塞對于程序員來說都不會陌生,無論是看相關書籍,還是面試,都會涉及到這四個詞,下面給出我的理解,如有不對請多指教。

同步與異步

服務(Service)被分割成多個任務(Task),服務的執行結果是否要求任務最終按順序執行。服務的結果依賴所有任務的執行稱為同步服務;服務的結果不依賴所有的任務稱為異步服務。下面舉例說明:

同步

服務(Service)開始被分割為TaskA,TaskB,TaskC三個任務,TaskB的執行依賴于TaskA的執行,服務最后結果依賴于TaskB、TaskC,所有任務對業務來說都是同步操作。(這里也可以把TaskA、TaskB理解成一個任務,當然啦可以把TaskA、TaskB、TaskC理解成一個任務。我們平時寫的比較多的就是同步代碼)

異步

服務(Service)開始被分割為TaskA,TaskB,TaskC三個任務,TaskB的執行依賴于TaskA的執行,業務最后結果依賴于TaskB,TaskC的執行結果或者說TaskC中涉及到的數據對服務來說不重要甚至是不需要,所以TaskC任務對于業務來說是一個異步操作,也可以說是一個異步服務。

阻塞和非阻塞

如果說線程是程序工作的基本單位、服務是要處理的內容,那么阻塞是指工作線程需要等待服務的響應結果才會處理下一個服務,否則工作線程會一直處于等待狀態。非阻塞是指工作線程不需等待結果直接處理下一個服務。

阻塞

服務的執行在Handler結果返回之前,工作線程會一直等待。

非阻塞

服務的執行不依賴Handler返回結果,工作線程直接處理下一個服務。

總結

同步:服務依賴任務的執行結果

異步:服務不依賴任務的執行結果

阻塞:服務執行時線程會出現等待狀態

非阻塞:不服務執行時線程不會出現等待狀態

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/68118.html

相關文章

  • JS基礎——異步回調

    摘要:回調大多出現在請求,用于處理收到的請求結果?;卣{函數和異步一開始我被回調和異步有點搞暈了。異步編程的實現就我目前知道兩種回調函數和事件監聽,其實看了阮神的異步編程的文章和下面的評論之后得出的理解。為了不影響的執行,我們可以把寫成的回調函數。 前言 一個剛入前端的小菜,雖然以前看到過關于回調的文章,但是呢,理解起來有點費勁啊。當時的腦海里就一個概念。 回調:大多出現在Ajax請求,用于處...

    tianhang 評論0 收藏0
  • JS與Node.js中的事件循環

    摘要:的單線程,與它的用途有關。特點的顯著特點異步機制事件驅動。隊列的讀取輪詢線程,事件的消費者,的主角。它將不同的任務分配給不同的線程,形成一個事件循環,以異步的方式將任務的執行結果返回給引擎。 這兩天跟同事同事討論遇到的一個問題,js中的event loop,引出了chrome與node中運行具有setTimeout和Promise的程序時候執行結果不一樣的問題,從而引出了Nodejs的...

    abson 評論0 收藏0
  • JS專題之事件循環

    摘要:宏任務需要多次事件循環才能執行完??偨Y事件循環是和事件調用機制的核心,保證了頁面可以有序無阻塞的進行。事件循環的主要邏輯是先執行調用棧,直到清空調用棧只剩下全局上下文。微任務執行后完,進行頁面渲染和垃圾回收后進行下一輪事件循環。 準備知識 1. 進程(process) 進程是系統資源分配一個獨立單位,一個程序至少有一個進程。比方說:一個工廠代表一個 CPU, 一個車間就是一個進程,任一...

    mengera88 評論0 收藏0
  • Java并發

    摘要:對象改變條件對象當前線程要等待線程終止之后才能從返回。如果線程在上的操作中被中斷,通道會被關閉,線程的中斷狀態會被設置,并得到一個。清除線程的中斷狀態。非公平性鎖雖然可能造成饑餓,但極少的線程切換,保證其更大的吞吐量。 聲明:Java并發的內容是自己閱讀《Java并發編程實戰》和《Java并發編程的藝術》整理來的。 showImg(https://segmentfault.com/im...

    SKYZACK 評論0 收藏0
  • 切圖崽的自我修養-加載JS的常見方式

    摘要:總而言之,只有先構建了對應的你才能用腳本去操作它所以這就是如果在中寫內聯不加經常報錯的原因,通常因為找不到對應的這也是我們為什么通常把外鏈放在底部進行加載確保了和加載完畢主要內容已經呈現給用戶確保了和加載完畢所有處于可操作狀態 前言 我就想隨便找個地方放東西不行嗎? 看別人寫的代碼,中寫原生js無一例外加了window.onload, jquery示例中無一例外的加了 $(funct...

    王軍 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<