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

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

無法理解tornado的異步

無法理解tornado的異步

茅侃侃 2018-10-18 18:35:23
看了一些tornado異步的實現(xiàn),我發(fā)現(xiàn),人們在使用異步非阻塞特性的時候都是使用的線程的能提供異步的package,比如tornado.httpclient.HTTPClient(),但是我要怎樣才能將自己的一個耗時函數(shù)(比如下面的sleep)變成異步非阻塞呢,代碼如下class MainHandler(tornado.web.RequestHandler):     @tornado.web.asynchronous     @tornado.gen.coroutine         def get(self):         tornado.ioloop.IOLoop.instance().add_callback(self.sleep)                 self.finish('OK')             def sleep(self):                 for i in range(100000000):                     if i % 100000 == 0:                 print(i)         print('ooo')當(dāng)用該handler處理請求時,能立即返回'OK'表示異步能實現(xiàn),但是在處理sleep的時候卻不能處理其他的請求,其他請求會被阻塞知道之前這個請求處理完畢。請問各位大牛有什么方法將自己寫的耗時函數(shù)變成異步非阻塞呢(不使用線程池,既然異步是tornado的特性,應(yīng)該是有方法的撒)?這和tornado的單線程循環(huán)有關(guān)嗎?理解錯了異步、阻塞和并發(fā),tornado確實能做到異步和非阻塞,但是單線程怎樣做到并發(fā)呢,當(dāng)?shù)谝粋€請求過來tornado返回過后,后臺還在處理耗時任務(wù),此時如果有其他請求過來,其他請求會處于一直等待的狀態(tài),這不是表明無法并行嗎?
查看完整描述

9 回答

?
largeQ

TA貢獻(xiàn)2039條經(jīng)驗 獲得超8個贊

異步就是在做某事之前做另外一件事。

查看完整回答
反對 回復(fù) 2018-10-28
  • 9 回答
  • 0 關(guān)注
  • 1075 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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