python3异步task_Python异步编程4:task对象
Task對象是指:與任務(wù)調(diào)度,和并發(fā)有關(guān),是指幫助在事件循環(huán)中并發(fā)的向任務(wù)列表,添加多個任務(wù)。task用于并發(fā)調(diào)度協(xié)程,通過asyncio.create_task(協(xié)程對象)的方式創(chuàng)建Task對象,這樣可以讓協(xié)程加入事件循環(huán)中等待被調(diào)度執(zhí)行,除了使用asyncio.create_task(協(xié)程對象)函數(shù)(3.7+之后才能使用)外,可以使用loop.create_task()或者ensure_future(),不建議手動實(shí)例化Task對象。由于執(zhí)行時間非常接近,所以看起來像并發(fā)。
示例代碼:創(chuàng)建task對象,創(chuàng)建后f1任務(wù)會立即添加到事件循環(huán)中的任務(wù)列表。如果掃描調(diào)度到會馬上執(zhí)行。
此時有3個任務(wù)分別是:main任務(wù)和task1和task2。線程如果沒有io會繼續(xù)執(zhí)行直到有io等待。
一般這種做法比較少,只是作為認(rèn)識。
示例2:使用更多,推薦。
補(bǔ)充:如果task_list在事件循環(huán)之前?的示例。
改造一下,將task對象改成協(xié)程對象,是可以執(zhí)行的。
總結(jié)
以上是生活随笔為你收集整理的python3异步task_Python异步编程4:task对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 目标检测-分水岭分割与阈值分割对比
- 下一篇: websocket python爬虫_p