同步和异步的区别、例子
一、同步、異步的區別
同步,是所有的操作都做完,才返回給用戶結果。即寫完數據庫之后,在相應用戶,用戶體驗不好。
異步,不用等所有操作等做完,就相應用戶請求。即先相應用戶請求,然后慢慢去寫數據庫,用戶體驗較好。
同步:
同步的思想是:所有的操作都做完,才返回給用戶。這樣用戶在線等待的時間太長,給用戶一種卡死了的感覺(就是系統遷移中,點擊了遷移,界面就不動了,但是程序還在執行,卡死了的感覺)。這種情況下,用戶不能關閉界面,如果關閉了,即遷移程序就中斷了。
?
異步:
將用戶請求放入消息隊列,并反饋給用戶,系統遷移程序已經啟動,你可以關閉瀏覽器了。然后程序再慢慢地去寫入數據庫去。這就是異步。但是用戶沒有卡死的感覺,會告訴你,你的請求系統已經響應了。你可以關閉界面了。
?
以上原文地址:https://blog.csdn.net/qq_32939679/article/details/81098978
二、同步、異步的例子
”同步“就好比:
? ? ? ? 你去外地上學(人生地不熟),突然生活費不夠了;此時你決定打電話回家,通知家里轉生活費過來,可是當你撥出電話時,對方一直處于待接聽狀態(即:打不通,聯系不上),為了拿到生活費,你就不停的oncall、等待,最終可能不能及時要到生活費,導致你今天要做的事都沒有完成,而白白花掉了時間。??
?“異步”就是:
? ? ?? 在你打完電話發現沒人接聽時,猜想:對方可能在忙,暫時無法接聽電話,所以你發了一條短信(或者語音留言,亦或是其他的方式)通知對方后便忙其他要緊的事了;這時你就不需要持續不斷的撥打電話,還可以做其他事情;待一定時間后,對方看到你的留言便回復響應你,當然對方可能轉錢也可能不轉錢。但是整個一天下來,你還做了很多事情。 或者說你找室友臨時借了一筆錢,又開始happy的上學時光了。?? ?簡而言之,言而總之:同步就是我強依賴你(對方),我必須等到你的回復,才能做出下一步響應。即我的操作(行程)是順序執行的,中間少了哪一步都不可以,或者說中間哪一步出錯都不可以,類似于編程中程序被解釋器順序執行一樣;同時如果我沒有收到你的回復,我就一直處于等待、也就是阻塞的狀態。 異步則相反,我并不強依賴你,我對你響應的時間也不敏感,無論你返回還是不返回,我都能繼續運行;你響應并返回了,我就繼續做之前的事情,你沒有響應,我就做其他的事情。也就是說我不存在等待對方的概念,我就是非阻塞的。
以上原文鏈接:https://blog.csdn.net/huangqiang1363/article/details/79508852
?
?
?
?
?
總結
以上是生活随笔為你收集整理的同步和异步的区别、例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GB28181国标流媒体服务语音对讲-前
- 下一篇: asp.net 生命周期中的时间流程