2024-09-01
Python
00

https://docs.python.org/zh-cn/3/library/asyncio-task.html#timeouts

适合IO密集型任务,可以当成轻线程去理解(不需要线程的那种上下文切换)。

python
import asyncio import datetime async def display_date(num, loop): # 注意这一行的写法 ''' 这个函数执行一次需要五秒 ''' end_time = loop.time() + 5.0 while True: print("我的任务编号: {} Time: {}".format(num, datetime.datetime.now())) if (loop.time() + 1.0) >= end_time: break await asyncio.sleep(1) # 阻塞直到协程sleep(2)返回结果 if __name__ == '__main__': loop = asyncio.get_event_loop() # 获取一个event_loop tasks = [display_date(1, loop), display_date(2, loop)] loop.run_until_complete(asyncio.gather(*tasks)) # "阻塞"直到所有的tasks完成 loop.close()
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!