进程之间不能像线程那样共享全局变量,所以进程间通信需要使用队列。
#进程间使用Queue通信
import time
import multiprocessing
def work1(q):
while 1:
print(q.get())
time.sleep(1)
def work2(q):
while 1:
q.put("11111")
time.sleep(2)
def main():
q = multiprocessing.Queue(3)
w2 = multiprocessing.Process(target = work2,args = (q,))
w1 = multiprocessing.Process(target = work1,args = (q,))
w1.start()
w2.start()
w1.join()
w2.join()
if __name__ == "__main__":
main()