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 生成器并行运算的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 多处理进程中运行较慢的 OpenCV 代码片段
[工作积累] UE4 并行渲染的同步 - Sync between FParallelCommandListSet & FRHICommandListImmediate calls(代码片段