亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于異步的一些概念

關于異步的一些概念

慕妹3242003 2019-03-02 09:20:06
最近了解tornado框架, 于是聽人說了的這么一句話, python庫并不是都支持異步的, 好吧于是聯想一下, 可能說的是如果子線程 或 子進程同時在運行這段代碼, 不管怎么樣,要么不會有同時在操作的變量, 要么就是對這種的變量做了鎖的處理, 不知道到這里的支持異步 和 線程安全的代碼是否想表達的是一個意思呢?
查看完整描述

2 回答

?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

我理解的 異步 和 線程安全 是兩個不同領域的概念.

異步

舉個 同步 的例子

f1()
f2()
f3()

這種調用方式使得代碼只能按順序執行, 假設 f1-3 調用耗時分別是 1,2,3 秒, 那么執行完需要 1+2+3=6 秒.

而異步調用可能是這樣的

task1 = async_f1()
task2 = async_f2()
task3 = async_f3()
gather(task1, task2, task3)

這樣執行完只需要 3 秒, 因為 3 個調用可以同時進行.

線程安全

以函數為例, 線程安全意味著多個線程同時調用時, 各個線程之間不會有沖突.


查看完整回答
反對 回復 2019-03-02
?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

這里有個前提是在業務邏輯層面,而系統IO通常都是同步。
異步是調用發出后就直接返回了,結果要等被調用的狀態或者回調通知。
而常見 result = some_function(xxx), 顯然是要等結果的,這樣就無法直接支持異步調用。
線程安全和 異步顯然不是一個意思。

查看完整回答
反對 回復 2019-03-02
  • 2 回答
  • 0 關注
  • 456 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號