Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from multiprocessing.pool import Pool
- from multiprocessing import Event
- import time
- EV = [Event() for e in xrange(11)]
- def echo(i):
- EV[i].wait()
- time.sleep(0.001)
- EV[i+1].set()
- return i
- def reset():
- for e in EV: e.clear()
- EV[0].set()
- def main():
- p = Pool(10)
- reset()
- run1 = [a for a in p.imap_unordered(echo, xrange(10))]
- reset()
- run2 = [a for a in p.imap_unordered(echo, xrange(10))]
- reset()
- run3 = [a for a in p.imap_unordered(echo, xrange(10))]
- reset()
- run4 = [a for a in p.imap_unordered(echo, xrange(10))]
- print( run1 == run2 == run3 == run4 )
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement