期物的概念:期物指一種對象探孝,表示異步執(zhí)行的操作。
python3.4起誉裆,標準庫中有兩個名為Future的類
- concurrent.futures.Future
- asyncio.Future
這兩個類的作用相同顿颅。兩個Future類的實例都表示可能已經(jīng)完成或者尚未完成的延遲計算。
期物封裝待完成的操作足丢,可以放入隊列粱腻,完成的狀態(tài)可以查詢,得到結果(或者拋出異常)后可以獲取結果(或異常)霎桅。
通常情況下自己不應該創(chuàng)建期物栖疑,而只能由并發(fā)框架實例化。
這兩種期物都要有.done()方法滔驶,這個方法不阻塞遇革,返回值是布爾值,指明期物鏈接的可調(diào)用對象是否已經(jīng)執(zhí)行÷芸欤客戶端代碼通常不會詢問期物是否已經(jīng)運行結束锻霎,而是等待通知。因此揪漩,兩個Future類都有.add_done_callback()方法旋恼。這個方法只有一個參數(shù),類型是可調(diào)用的對象奄容。當期物運行結束后會調(diào)用指定的可調(diào)用對象冰更。
還有.result()方法:返回可調(diào)用對象的結果