日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

同步、异步

發布時間:2025/3/19 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 同步、异步 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

同步異步指是通信模式

首先是通信的同步,主要是指客戶端在發送請求后,必須得在服務端有回應后才發送下一個請求。所以這個時候所有請求將會在服務端得到同步?
其次是通信異步,指客戶端在發送請求后,不必等待服務端回應就可以發送下一個請求,這樣對于所有請求動作來說將會在服務端得到異步,這條請求鏈路就象是一個請求隊列,所有動作在這里不會得到同步的。?

在實現過程中,如果服務端是異步話,客戶端也是異步話,通信效率會很高,但如果服務端在請求返回時也是返回給請求鏈路時,客戶端是可以同步的,這種情況下,服務端是兼容同步和異步的。相反,如果客戶端是異步而服務端是同步的也不會有問題,只是處理效率低了些。

同步
??????所謂同步,就是在發出一個功能調用時,在沒有得到結果之前,該調用就不返回。按照這個定義,其實絕大多數函數都是同步調用(例如sin, isdigit等)。但是一般而言,我們在說同步異步的時候,特指那些需要其他部件協作或者需要一定時間完成的任務。最常見的例子就是 SendMessage。該函數發送一個消息給某個窗口,在對方處理完消息之前,這個函數不返回。當對方處理完畢以后,該函數才把消息處理函數所返回的 LRESULT值返回給調用者。

異步
??????異步的概念和同步相對。當一個異步過程調用發出后,調用者不能立刻得到結果。實際處理這個調用的部件在完成后,通過狀態、通知回調來通知調用者。以 CAsycSocket類為例(注意,CSocket從CAsyncSocket派生,但是起功能已經由異步轉化為同步),當一個客戶端通過調用 Connect函數發出一個連接請求后,調用者線程立刻可以朝下運行。當連接真正建立起來以后,socket底層會發送一個消息通知該對象。這里提到執行 部件調用者通過三種途徑返回結果:狀態、通回調。可以使用哪一種依賴于執行部件的實現,除非執行部件提供多種選擇,否則不受調用者控制。如果執行部 件用狀態來通知,那么調用者就需要每隔一定時間檢查一次,效率就很低(有些初學多線程編程的人,總喜歡用一個循環去檢查某個變量的值,這其實是一種很嚴重 的錯誤)。如果是使用通知的方式,效率則很高,因為執行部件幾乎不需要做額外的操作。至于回調函數,其實通知沒太多區別。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的同步、异步的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。