介绍
怎么在python3协程中使用asyncio ?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
Python主要用来做什么
Python主要应用于:1,网络开发;2、数据科学研究;3,网络爬虫;4、嵌入式应用开发,5日游戏开发;6桌面应用开发。
<强> 1,asyncio的使用强>
(1) event_loop事件循环:程序开启一个无限的循环,程序员会把一些函数注册到事件循环上。当满足事件发生的时候,调用相应的协程函数。
(2)协同程序协程:协程对象,指一个使用异步关键字定义的函数,它的调用不会立即执行函数,而是会返回一个协程对象。协程对象需要注册到事件循环,由事件循环调用。
(3)任务任务:一个协程对象就是一个原生可以挂起的函数,任务则是对协程进一步封装,其中包含任务的各种状态。
(4)未来:代表将来执行或没有执行的任务的结果。它和任务上没有本质的区别
(5)异步/等待关键字:python3.5用于定义协程的关键字,异步定义一个协程,等待用于挂起阻塞的异步调用接口。
<强> 2,实例强>
import asyncio , import 时间 , , , 你=,λ:time.time () , async def  do_some_work (x): , ,,,print(& # 39;等待:{}& # 39;.format (x)) , , , ,,,await asyncio.sleep (x) , ,,,return & # 39; Done after {} & # 39; .format (x) , , , async def main (): , ,,,coroutine1 =, do_some_work (1) , ,,,coroutine2 =, do_some_work (5) , ,,,coroutine3 =, do_some_work (3) , , , ,,,tasks =, ( , ,,,,,,,asyncio.ensure_future (coroutine1), , ,,,,,,,asyncio.ensure_future (coroutine2), , ,,,,,,,asyncio.ensure_future (coroutine3) , ,,,) , ,,,,,pending =, await asyncio.wait(任务) , ,,,for task 拷贝完成: , ,,,,,,,印刷(& # 39;Task  ret: & # 39;,, task.result ()) , , , start 现在=,() , , , 时间=loop asyncio.get_event_loop () , 时间=task asyncio.ensure_future (main ()) , 试一试: , ,,,loop.run_until_complete(任务) , ,,,print(& # 39;时间:,& # 39;,,现在(),背后,开始) , except KeyboardInterrupt  as e: , ,,,print (asyncio.Task.all_tasks ()) , ,,,print (asyncio.gather (* asyncio.Task.all_tasks ()) .cancel ()) , ,,,loop.stop () , ,,,loop.run_forever () , 最后: , ,,,loop.close ()
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。