最通俗易懂的例子來解釋什麼是同步和非同步

2021-10-07 16:40:35 字數 1480 閱讀 3249

同步非同步

同步和非同步的區別

同步(synchronous)和非同步(asynchronous)

老張愛喝茶,廢話不說,煮開水。

出場人物:老張,水壺兩把(普通水壺,簡稱水壺;會響的水壺,簡稱響水壺)。

1 老張把水壺放到火上,立等水開。(同步阻塞)

老張覺得自己有點傻

2 老張把水壺放到火上,去客廳看電視,時不時去廚房看看水開沒有。(同步非阻塞)

老張還是覺得自己有點傻,於是變高階了,買了把會響笛的那種水壺。水開之後,能大聲發出嘀~~~~的噪音。

3 老張把響水壺放到火上,立等水開。(非同步阻塞)

老張覺得這樣傻等意義不大

4 老張把響水壺放到火上,去客廳看電視,水壺響之前不再去看它了,響了再去拿壺。(非同步非阻塞)

老張覺得自己聰明了。

所謂同步非同步,只是對於水壺而言。

普通水壺,同步;響水壺,非同步。

雖然都能幹活,但響水壺可以在自己完工之後,提示老張水開了。這是普通水壺所不能及的。

同步只能讓呼叫者去輪詢自己(情況2中),造成老張效率的低下。

所謂阻塞非阻塞,僅僅對於老張而言。

立等的老張,阻塞;看電視的老張,非阻塞。

情況1和情況3中老張就是阻塞的,媳婦喊他都不知道。雖然3中響水壺是非同步的,可對於立等的老張沒有太大的意義。所以一般非同步是配合非阻塞使用的,這樣才能發揮非同步的效用。

網友a個人理解:同步非同步是對燒開水這個行為而言的,並不是水壺。老張燒開水一直等著開是同步,燒了開水就不管了直接去看電視就是非同步。

網友b同步就是燒開水,要自己來看開沒開;非同步就是水開了,然後水壺響了通知你水開了。阻塞是燒開水的過程中,你不能幹其他事情(即你被阻塞住了);非阻塞是燒開水的過程裡可以幹其他事情。同步與非同步說的是你獲得水開了的方式不同。阻塞與非阻塞說的是你得到結果之前能不能幹其他事情。兩組概念描述的是不同的內容。

網友c:個人覺得同步非同步不是對水壺而言的,而是看水開了這個狀態是老張主動去發現的還是水壺通知的。

同步是指:當程式1呼叫程式2時,程式1停下不動,直到程式2完成回到程式1來,程式1才繼續執行下去。  

非同步是指:當程式1呼叫程式2時,程式1徑自繼續自己的下乙個動作,不受程式2的的影響。

同步是指:傳送方發出資料後,等接收方發回響應以後才發下乙個資料報的通訊方式。  

非同步是指:傳送方發出資料後,不等接收方發回響應,接著傳送下個資料報的通訊方式。

通俗易懂的解釋 什麼是API

看到這裡,急性子的小白同學馬上就憋不住了 這不管是英文還是中文我每個字都懂啊,只是湊一塊就不知道什麼意思了,兄弟你能不能說人話啊?別著急,讓我們先看乙個小小的比方。有一天,小明來到了一家餐廳,想要吃上乙份他最愛的北京烤鴨。而他只需要把訂單交給服務員,然後就可以等著大口吃肉,大碗喝酒了。看完這個比喻,...

CDN最通俗易懂的CDN解釋

cdn的全稱是content delivery network,即內容分發網路。cdn是構建在現有網路基礎之上的智慧型虛擬網路,依靠部署在各地的邊緣伺服器,通過中心平台的負載均衡 內容分發 排程等功能模組,使使用者就近獲取所需內容,降低網路擁塞,提高使用者訪問響應速度和命中率。cdn的關鍵技術主要有...

通俗易懂!什麼是MIMO?

01 mimo是什麼 在這個萬物互聯的時代,手機作為我們和外界聯絡的視窗,似乎已經成為了我們身體的一部分。而手機是無法自己上網的,和手機進行通訊的通訊網路,已經變得跟水和電一樣。暢快上網的時候,感覺不到這些幕後英雄的重要,一旦離開就感覺跟活不下去了一樣。按流量收費的時代,曾幾何時,1m流量收費一塊,...