第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

關于asyncio 執(zhí)行過程的問題。內(nèi)含代碼,對執(zhí)行順序有點不解

關于asyncio 執(zhí)行過程的問題。內(nèi)含代碼,對執(zhí)行順序有點不解

紫衣仙女 2019-05-22 16:03:49
importasyncioimporttimenow=lambda:time.time()asyncdefdo_some_work(x):print('Waiting:',x)awaitasyncio.sleep(x)return'Doneafter{}s'.format(x)asyncdefmain():coroutine1=do_some_work(1)coroutine2=do_some_work(2)coroutine3=do_some_work(4)tasks=[asyncio.ensure_future(coroutine1),asyncio.ensure_future(coroutine2),asyncio.ensure_future(coroutine3)]dones,pendings=awaitasyncio.wait(tasks)fortaskindones:print('Taskret:',task.result())start=now()loop=asyncio.get_event_loop()loop.run_until_complete(main())print('TIME:',now()-start)執(zhí)行結(jié)果:Waiting:1Waiting:2Waiting:4(這里隔了四秒)Taskret:Doneafter1sTaskret:Doneafter2sTaskret:Doneafter4sTIME:4.007018804550171代碼是網(wǎng)上復制的,不理解的是結(jié)果中那個停留了四秒。按小白的理解,執(zhí)行到第一個awaitasyncio.sleep(x)的時候跳到第二個阻塞了又到第三個,然后第三個阻塞了不是應該跳回第一個嗎?然后跳回函數(shù)內(nèi)執(zhí)行FRO循環(huán)。會先打印第一個出來然后兩秒后再打印第二個,然后四秒后再打印第四個。上面的執(zhí)行結(jié)果變成是等最后一個四秒結(jié)束后,一起for出來了。這里不理解?求大佬解惑
查看完整描述

2 回答

?
猛跑小豬

TA貢獻1858條經(jīng)驗 獲得超8個贊

condition1,contdition2,condition3是塞在一個隊列里面的,condition1先取出來執(zhí)行,執(zhí)行到sleep,輪到下一個,下一個繼續(xù),一直到最后一個;然后condition1睡好了,開始繼續(xù)往下,執(zhí)行完后,后面的跟上
                            
查看完整回答
反對 回復 2019-05-22
  • 2 回答
  • 0 關注
  • 598 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號