同步和異步的區別及優缺點


同步和異步的區別

同步:你執行了我再執行。

異步:你不執行我先跳過,等你執行了我再執行。

通俗舉例

同步:我大學有個室友袁大炮,我們都叫他炮哥。大學開始時炮哥很單純,和女生告白,在同一時間內只和一個女孩表白,
   等人家姑娘拒絕他后才向另外一個女生表白,這就是我們所謂的同步,等上一個表白結束了才會開始追求另外一個女生。

異步:后來過了一段時間炮哥變渣了,他開始同時和多個女生表白,給一個姑娘表白不等姑娘回復就開始給另外一個姑娘表白,這就是我們所謂的異步。

同步和異步的優缺點

我們炮哥前后不同的行為來分析一下同步與異步的優缺點: 1、當炮哥同一時間內只表白一個女生的時候,如果女生拒絕了他,中間可能要等等待姑娘很長的回復時間,脫單的效率會很低。 2、同時表白多個姑娘的話,他可以利用姑娘回復的這段時間表白其他姑娘, 這樣炮哥脫單效率就會變得很高,但這樣也會帶來其他問題, 比如要耗費大量的精力財力,並且有可能多個女生關系處理不好,不便控制,容易發生意外情況。

所以同步和異步主要的優缺點我們就總結出來了:

1、同步的執行效率會比較低,耗費時間,但有利於我們對流程進行控制,避免很多不可掌控的意外情況。 2、異步的執行效率高,節省時間,但是會占用更多的資源,也不利於我們對進程進行控制。

異步的使用場景:

1不涉及共享資源,或對共享資源只讀,即非互斥操作 2沒有時序上的嚴格關系 3、不需要原子操作,或可以通過其他方式控制原子性 4常用於IO操作等耗時操作,因為比較影響客戶體驗和使用性能 5、不影響主線程邏輯

同步的使用場景:

不使用異步的時候。

同步的好處:

1、同步流程對結果處理通常更為簡單,可以就近處理。 2、同步流程對結果的處理始終和前文保持在一個上下文內。 3、同步流程可以很容易捕獲、處理異常。 4、同步流程是最天然的控制過程順序執行的方式。

異步的好處:

1、異步流程可以立即給調用方返回初步的結果。 2、異步流程可以延遲給調用方最終的結果數據,在此期間可以做更多額外的工作,例如結果記錄等等。 3、異步流程在執行的過程中,可以釋放占用的線程等資源,避免阻塞,等到結果產生再重新獲取線程處理。 4、異步流程可以等多次調用的結果出來后,再統一返回一次結果集合,提高響應效率。

 

轉載自:同步和異步的區別及優缺點_RookieLink-CSDN博客_同步和異步的優缺點


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM