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

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

小白,請教各位大佬!關于異步的一些概念各位有什么建議?

小白,請教各位大佬!關于異步的一些概念各位有什么建議?

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

2 回答

?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

我理解的異步和線程安全是兩個不同領域的概念.
異步
舉個同步的例子
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-08-21
?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

這里有個前提是在業務邏輯層面,而系統IO通常都是同步。異步是調用發出后就直接返回了,結果要等被調用的狀態或者回調通知。而常見result=some_function(xxx),顯然是要等結果的,這樣就無法直接支持異步調用。線程安全和異步顯然不是一個意思。
                            
查看完整回答
反對 回復 2019-08-21
  • 2 回答
  • 0 關注
  • 336 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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