python 生成器并行运算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 生成器并行运算相关的知识,希望对你有一定的参考价值。

def consummer(name):

    while True:

        baozi = yield

        print(‘包子%s来啦,被%s吃了‘%(baozi,name))

    return None        


c = consummer(‘紫星大人‘)

bz = ‘韭菜馅‘

c.send(bz)   #唤醒yield并传值

c.__next__()  #只唤醒不传值


模拟单线程下的并行效果#实际上应该是携程效果,比进程更小的一个单位


import time
def consummer(name):
   print(‘顾客%s已经做好吃包子的准备了‘%name)
   while True:
       baozi = yield
       print(‘包子%s来啦,被%s吃了‘%(baozi,name))

def producer():
   c = consummer(‘张三‘)
   c2 = consummer(‘李四‘)
   c.__next__()
   c2.__next__()
   print(‘厨师开始做包子啦!‘)
   for i in range(20,):
       time.sleep(1)
       print(‘生产出来2个包子‘)
       c.send(i)
       c2.send(i)
producer()


以上是关于python 生成器并行运算的主要内容,如果未能解决你的问题,请参考以下文章

python3--生成器并行运算

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

Python之numpy详细教程

生成器并行运算

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

[工作积累] UE4 并行渲染的同步 - Sync between FParallelCommandListSet & FRHICommandListImmediate calls(代码片段