Is it possible to use multiprocessing.Event to implement a synchronization barrier for pool of processes? I am using Python 2.7. But it looks like the Event is not shared between processes. Is something wrong with my code?
def test_func(event):
event.wait()
return datetime.datetime.now()
def log_result(result):
result_list.append(result)
if __name__ == '__main__':
pool_size=10
pool = multiprocessing.Pool(processes=pool_size)
event = multiprocessing.Manager().Event()
for _ in xrange(pool_size):
pool.apply_async(test_func, args=(event,), callback=log_result)
pool.close()
pool.join()
time.sleep(5)
event.set()