进程间通信
Posted alex_huang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程间通信相关的知识,希望对你有一定的参考价值。
方法一,进程Queue
import multiprocessing,time,os import threading # print("主进程的父PID:",os.getppid()) #即pytharm进程ID # print("主进程的PID:",os.getpid()) def sub(q): print("sub process") print("子进程的父PID:", os.getppid()) print("子进程的PID:", os.getpid()) q.put("aaa") q = multiprocessing.Queue() if __name__ == ‘__main__‘: t = multiprocessing.Process(target=sub,args=(q,)) t.start() print(q.get())
t.join()等待进程返回
方法二,进程pipe
import multiprocessing,time,os import threading def sub(q): print("sub process") print("子进程的父PID:", os.getppid()) print("子进程的PID:", os.getpid()) q.send("aaa") q.send("bbb") if __name__ == ‘__main__‘: pare_conn,chil_conn = multiprocessing.Pipe() t = multiprocessing.Process(target=sub,args=(chil_conn,)) t.start() print(pare_conn.recv(),pare_conn.recv()) #跟socket通信一样,如果多recv没有数据会一直卡着直到有数据发来
。。。
以上是关于进程间通信的主要内容,如果未能解决你的问题,请参考以下文章