同步與異步

同步就是指一個進程在執行某個請求的時候,若該請求需要一段時間才能返回信息,那麼這個進程將會一直等待下去,直到收到返回信息才繼續執行下去;異步是指進程不需要一直等下去,而是繼續執行下面的操作,不管其他進程的狀態。當有消息返回時系統會通知進程進行處理,這樣可以提高執行的效率。

比如A和A1兩個進程,兩個都要執行1.在平面上畫個圓,2.刪除圓畫三角形,3.塗色(其繪製圓和塗色由Gpu進行,刪除需要Gpu向Cpu發送請求)

假設A是同步,A1是異步,首先A和A1Gpu都畫了個圓,其次執行第二步(敲黑板)A:Gpu向Cpu發送請求刪除圓,A的Gpu之後就在等,直到Cpu命令回來後,刪除圓並畫三角形,然後執行第三步塗色;A1:Gpu向Cpu發送請求刪除圓,A1的Gpu沒有等直接執行第三步塗色,一段時間後,Cpu命令回來了,刪除圓並畫三角形。

我們看到:A按部就班,結果:畫圓,刪圓畫三角形,在三角形上塗色。

A1在空閒時間(向Cpu請求等待的時間)執行下一步操作,結果:畫圓,在圓上塗色,再刪圓畫三角形。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章