掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流
用于處理 ?Future對象的實用程序。

白云網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)公司。
Tornado 之前提供了自己的 ?Future類,但現(xiàn)在使用 ?asyncio.Future?。 此模塊包含用于與 Tornado 的舊 ?Future實現(xiàn)向后兼容的方式使用 ?asyncio.Future 的實用程序函數(shù)。
雖然這個模塊是 Tornado 內(nèi)部實現(xiàn)的重要組成部分,但應用程序很少需要直接與其交互。
?tornado.concurrent.Future? 是 ?asyncio.Future? 的別名。
在 Tornado 中,應用程序與 ?Future?對象交互的主要方式是在協(xié)程中?awaiting?或?yielding?它們,而不是調(diào)用 ?Future對象本身的方法。
在 5.0 版更改:Tornado 的 ?Future實現(xiàn)已被 ?asyncio的版本取代(如果可用)。
Future?對象只能在存在當前 ?IOLoop時創(chuàng)建Future.add_done_callback? 安排的回調(diào)時間已更改。exc_info和 ?set_exc_info方法在 Python 3 上不再可用。裝飾器在執(zhí)行器上異步運行同步方法。
返回一個?future?。
要使用的?executor?由?self?的?executor?屬性決定。 要使用不同的屬性名稱,請將關鍵字參數(shù)傳遞給裝飾器:
@run_on_executor(executor='_thread_pool')
def foo(self):
pass此裝飾器不應與名稱相似的 ?IOLoop.run_in_executor? 混淆。 一般來說,建議在調(diào)用阻塞方法時使用 ?run_in_executor而不是在定義方法時使用此裝飾器。 如果需要與舊版本的 Tornado 兼容,請考慮在調(diào)用站點定義執(zhí)行器并使用 ?executor.submit()?
在 4.2 版更改: 添加了關鍵字參數(shù)以使用替代屬性。
在 5.0 版更改: 始終使用當前 IOLoop 而不是 ?self.io_loop?。
在 5.1 版更改: 返回與 ?await兼容的 ?Future而不是 ?concurrent.futures.Future?。
5.1 版后已棄用:?callback?參數(shù)已棄用,將在 6.0 中刪除。 裝飾器本身在新代碼中不鼓勵使用,但不會在 6.0 中刪除。
在 6.0 版更改: ?callback?參數(shù)已刪除。
將兩個 future 鏈接在一起,這樣當一個完成時,另一個也完成。
a 的結果(成功或失?。⒈粡椭频?nbsp;b,除非 b 已經(jīng)完成或在 a 完成時取消。
在 5.0 版更改: 現(xiàn)在接受 Tornado/asyncio ?Future對象和 ?concurrent.futures.Future?。
如果未取消,則將給定值設置為 ?Future的結果。
在取消的 ?asyncio.Future 上調(diào)用 ?set_result()? 時避免 ?asyncio.InvalidStateError?。
將給定的 ?exc設置為 ?Future的異常。
如果 ?Future已被取消,則改為記錄異常。 如果不需要此日志記錄,則調(diào)用者應顯式檢查 ?Future的狀態(tài)并調(diào)用 ?Future.set_exception? 而不是此包裝器。
在取消的 ?asyncio.Future? 上調(diào)用 ?set_exception()? 時避免 ?asyncio.InvalidStateError?。
將給定的 ?exc_info設置為 ?Future的異常。
了解 ?asyncio.Future? 和舊版本 Tornado 中的擴展,以便在 Python 2 上實現(xiàn)更好的回溯。
5.0 版中的新功能。
在 6.0 版更改: 如果?future?已經(jīng)取消,則此功能是空操作。 (以前會引發(fā) ?asyncio.InvalidStateError?)
安排在?future?完成時調(diào)用?callback?。
?callback?由?future?參數(shù)調(diào)用的。
如果 ?future已經(jīng)完成,則立即調(diào)用?callback?。 這可能與 ?Future.add_done_callback? 的行為不同,后者不做這樣的保證。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流