多进程启动顺序控制

出现频率较高的一个问题,顺序创建N个进程,但是进程启动的顺序可控制。

例如创建 1,2,,3,4,5 共5个进程,启动顺序为 1,3,2,4,5

以下这段代码为python实现

 

import multiprocessing

import time

def worker_control(event_list,control_dict,index):
if control_dict[index]['wait']:
event_list[index].wait()
print 'task index is %s' %index
time.sleep(1)
if control_dict[index]['control']:
event_list[control_dict[index]['control']].set()

if __name__ == "__main__":event_list = [] 

for index in range(5):
event_list.append(multiprocessing.Event())
control_dict = {
| 0:{'wait':False,'control':2},
| 1:{'wait':True,'control':3},
| 2:{'wait':True,'control':1},
| 3:{'wait':True,'control':4},
| 4:{'wait':True,'control':False}
|
}
for index in range(5):
pro = multiprocessing.Process(target = worker_control, args = (event_list,control_dict,index,))
pro.start()

 

 

转载于:https://www.cnblogs.com/codingroad/p/5231512.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值