# encoding:utf-8
from multiprocessing import Value,Queue,Process
import gevent
import time
from testapi import test
from gevent import monkey;monkey.patch_all()
inq = Queue()
outq = Queue()
end = Value('d', 1)
thds = []
def xiechengfun(i):
try:
while 1:
try:
task = inq.get(timeout=0.1)
except Exception as e:
print e
break
re = test()
outq.put(str(re))
print('Worker %s got task %s' % (i, task))
#用于协程之间的切换
#gevent.sleep(0)
except Exception as e:
print 'Quitting time!'
def inputs():
for i in xrange(100):
inq.put(i)
time.sleep(0)
def save():pass
def xiecheng():
threads = [gevent.spawn(xiechengfun, i) for i in xrange(10)]
gevent.joinall(threads)
def is_end():pass
if __name__ == "__main__":
x = Process(target=inputs, args=())
x.start()
y = Process(target=save, args=())
y.start()
for i in xrange(1):
p = Process(target=xiecheng, args=())
thds.append(p)
p.start()
print "p.pid:", p.pid
print "p.name:", p.name
print "p.is_alive:", p.is_alive()
while 1:
if is_end():
end.value = 0
break
time.sleep(1)
python中的进程+协程
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、进程 操作系统中最核心的概念是进程,分布式系统中最重要的问题是进程间通信。进程是“程序执行的一个实例” ,担当...
- 1. 执行过程 每个线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在进程中,...
- 注:本文很多素材来源于网络上前人总结和《流畅的python》一书,本人仅仅以个人视角重新整合,便于自己理解,再此声...
- TZ : 朴实的劳作也能硕果累累 一 : 科普一分钟 尽管进程间是独立存在的,不能相互访问彼此的数据,但是在pyt...