课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
Python编程开发是目前大多数程序员都在学习的一个编程开发语言,而今天我们就通过案例分析来了解一下,Python编程开发需要掌握哪些。
1、协程概念
看上去也是子程序,但是在自沉协的内部可以中断,然后转而执行别的子程序,但不是转到别的函数,它的执行过程像线程的切换,但是只会在一个线程中执行(中断,跳转执行)
优点(与线程相比):执行效率极高,因为只有一个线程,不存在同时写同一个变量的冲突,在协程中共享资源不用加锁(多线程在执行对同一个数据写操作时为了避免冲突必须加锁),只需要判断状态即可
如何实现:通过生成器实现,函数中通过关键字yield实现,控制函数内部的阶段性执行,返回值的时一个生成器。
2、协程间的数据传输
协程是单个函数(一个线程),可以随时中断执行,也就意味着,在中断过程中,可以做一些有意义的事情(它并不像普通函数间的调用,一个函数在执行后是没办法继续去操作该函数的,如传递新的数据,修改函数内部的变量等),比如可以在此时传递新的数据!
由于协程是函数及生成器的综合体,so,它拥有了两者的共同特性
可以携带参数
可以有返回值
可以使用for循环调用
可以使用send方法
3、协程之生产者消费者模型
什么是生产者与消费者模型?
在现实生活中:生产者随处可见,顾名思义可以创建某些产品的机构或个人,消费者则是用来消化某些产品的用户或者机构
在计算机的世界:这是一种设计模型,我们都知道,不管是小到简单的一组数据的加减,还是web工程项目,本质都是cpu内部执行的一段代码,代码运行在计算机内部(内存中)都是读写操作,生产者消费者模型中,生产者用来产生程序内部需要的数据,消费者则用来处理这些数据!
之前我们使用多线程与消息队列实现来消费者与生产者模型,那么协程是否也能实现此种设计模型呢?
协程可以从外部传递数据的特性
可以随时中断执行
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。