據我所知,同步和異步操作之間的主要區別。即write()
或read()
vs async_write()
和async_read()
是前者,直到操作完成後才返回 - 或錯誤 - 和最後一個,立即返回。需要關於同步和異步操作的一些說明
由於異步操作由io_service.run()
控制,直到受控操作完成才完成。在我看來,在連續的操作中所涉及的與協議,如POP3 TCP/IP連接,其中操作的順序,如:
C: <connect>
S: Ok.
C: User...
S: Ok.
C: Password
S: Ok.
C: Command
S: answer
C: Command
S: answer
...
C: bye
S: <close>
同步/異步運營商之間的差別並不太大感。
當然,在這兩個操作中,程序流程總會有一定的風險 - 在某些情況下 - 使用定時器 - ,但我想知道更多關於此問題的授權意見。
我必須承認,這個問題是相當不明確的,但我想聽聽什麼時候使用其中一個的建議。在使用MS Visual Studio進行調試時,我遇到了一些問題,這些問題涉及到我正在使用的POP3客戶端中的異步SSL操作,有時候認爲在這種情況下使用異步也許是個壞主意。
+1甚至沒有接近不明確的問題。異步編程很難,不要羞於對它提出疑問。 – 2011-03-13 14:11:20