python 多程序/多執行緒/協程 同步非同步
阿新 • • 發佈:2018-11-13
這篇主要是對概念的理解:
1、非同步和多執行緒區別:二者不是一個同等關係,非同步是最終目的,多執行緒只是我們實現非同步的一種手段。非同步是當一個呼叫請求傳送給被呼叫者,而呼叫者不用等待其結果的返回而可以做其它的事情。實現非同步可以採用多執行緒技術或則交給另外的程序來處理。多執行緒的好處,比較容易的實現了 非同步切換的思想, 因為非同步的程式很難寫的。多執行緒本身程還是以同步完成,但是應該說比效率是比不上非同步的。 而且多線很容易寫, 相對效率也高。
2、非同步和同步的區別: 在io等待的時候,同步不會切走,浪費了時間。非同步和同步是相對的,同步就是順序執行,執行完一個再執行下一個,需要等待、協調執行。非同步就是彼此獨立,在等待某事件的過程中繼續做自己的事,不需要等待這一事件完成後再工作。執行緒就是實現非同步的一個方式。 非同步是讓呼叫方法的主執行緒不需要同步等待另一執行緒的完成,從而可以讓主執行緒幹其它的事情。