您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 执行例程 >

python:Asyncio模块处理“事件循环”中的异步进程和并发执行任

发布时间:2019-07-27 04:30 来源:未知 编辑:admin

  python模块Asynico提供了管理事件、携程、任务和线程的功能已经编写并发代码的同步原语。

  协程,子例程概念的泛化,可以暂停任务,等待哇爱不处理程序完成再从暂停之处返回。

  任务tasks:是Asyncio的一个子类,用于封装并管理并行模式下的协程。

  loop.time() 以浮点数形式返回根据事件循环的内部时钟确定的当前时间。

  从输出结果上我们可以看到这个任务调用是完全异步的,开始loop.call_soon(fun_1,end_loop,loop) 立刻调用fun_1 当if条件成立时延迟一秒执行fun_2 但是fun_1的下一句print依然直接输出。但是我后来又测试他实际上还是要等fun_1里的其他语句执行完才会切换到fun_2。

  总结:只是在fun_1 1S后调用fun_2期间他会执行fun_1中的其他语句,但是如果需要的时间过长就会等待fun_1所有语句执行完毕才会切换到fun_2不仅仅等一秒。

  与子例程相似但是不存在用于协调结果的主程序,协程之间可以相互连接形成一个管道,不需要任何监督函数来按顺序调用协程。谢承忠可以暂停执行,同时保存干预时的本地状态,便于后续继续执行任务。有了协程池,协程计算就能够相互交错。

  这里s1-s3是自动循环切换。开始通过start进入状态机从end退出状态机。

  是否切换下一个状态由input_value决定,而他是由python的random模块中的randint(0,1)函数定义的。该函数随机返回值0或1.通过这种方法,可以随机决定有限状态机被传递哪个状态。

  总结一下:主要就是通过线程和协程 实现的事件编程,通过不同事件不同状态的调用,最后这段代码主要是添加了事件中可回调对象的操作。

http://nicolashsiung.com/zhixinglicheng/279.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有