生成器案例2-利用生成器实现单线程下的并行效果

Posted lindong0602

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成器案例2-利用生成器实现单线程下的并行效果相关的知识,希望对你有一定的参考价值。

#!usrinenvpython

# -*- coding:utf-8  -*9

import time

def consumer(name):                                      #定义一个消费者模型

       print("%s 准备吃东西啦" %name)

       while True:

                baozi=yield

                print("东西[%s]来了,被[%s]谁吃了" %(baozi,name))

c=consumer("pengdonghua")

c._next_()

def producer(name):                                   #定义一个生产者模型

     c=consumer(‘A‘)            #定义两个消费者A,B

     c2=consumer(‘B‘)

     c._next_()

     c2._next_()

     print("东西准备制作了")

     for i in range(10):               #循环10次,延时1秒打印输出

            time.sleep(1)

            print("做了2吃的东西")

            c.send(i)

            c2.send(i)

以上是关于生成器案例2-利用生成器实现单线程下的并行效果的主要内容,如果未能解决你的问题,请参考以下文章

Python生成器:单线程协程

生成器并行运算

python学习之路:生成器并行运算

生成器(generator)以及利用生成器(generator)产生并行效果

通过生成器yield实现单线程的情况下实现并发运算效果(异步IO的雏形)

生成器并行