multiprocessing7_lock.py 665 B

12345678910111213141516171819202122232425262728293031
  1. # View more python learning tutorial on my Youtube and Youku channel!!!
  2. # Youtube video tutorial: https://www.youtube.com/channel/UCdyjiB5H8Pu7aDTNVXTTpcg
  3. # Youku video tutorial: http://i.youku.com/pythontutorial
  4. import multiprocessing as mp
  5. import time
  6. def job(v, num, l):
  7. l.acquire()
  8. for _ in range(10):
  9. time.sleep(0.1)
  10. v.value += num
  11. print(v.value)
  12. l.release()
  13. def multicore():
  14. l = mp.Lock()
  15. v = mp.Value('i', 0)
  16. p1 = mp.Process(target=job, args=(v, 1, l))
  17. p2 = mp.Process(target=job, args=(v, 3, l))
  18. p1.start()
  19. p2.start()
  20. p1.join()
  21. p2.join()
  22. if __name__ == '__main__':
  23. multicore()