出现频率较高的一个问题,顺序创建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()