test01.py 536 B

1234567891011121314151617181920212223242526272829303132333435
  1. from multiprocessing import Process, Queue, Lock
  2. import time
  3. lock = Lock()
  4. def f(q, a):
  5. lock.acquire()
  6. if a == 3:
  7. time.sleep(2)
  8. q.put(666)
  9. print('input')
  10. if a == 4:
  11. data = q.get()
  12. print(data)
  13. print(a)
  14. lock.release()
  15. if __name__ == '__main__':
  16. q = Queue()
  17. p_list = []
  18. for i in range(8):
  19. p = Process(target=f, args=(q, i,))
  20. p_list.append(p)
  21. for p in p_list:
  22. p.start()
  23. print('-=------')
  24. for p in p_list:
  25. p.join()