multiprocess1.py 766 B

123456789101112131415161718192021222324252627282930313233343536
  1. """
  2. 使用Process类创建多个进程
  3. Version: 0.1
  4. Author: 骆昊
  5. Date: 2018-03-20
  6. """
  7. # 通过下面程序的执行结果可以证实 父进程在创建子进程时复制了进程及其数据结构
  8. # 每个进程都有自己独立的内存空间 所以进程之间共享数据只能通过IPC的方式
  9. from multiprocessing import Process, Queue
  10. from time import sleep
  11. def sub_task(string, q):
  12. number = q.get()
  13. while number:
  14. print('%d: %s' % (number, string))
  15. sleep(0.001)
  16. number = q.get()
  17. def main():
  18. q = Queue(10)
  19. for number in range(1, 11):
  20. q.put(number)
  21. Process(target=sub_task, args=('Ping', q)).start()
  22. Process(target=sub_task, args=('Pong', q)).start()
  23. if __name__ == '__main__':
  24. main()