进程间通信

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没有数据会一直卡着直到有数据发来

  。。。

以上是关于进程间通信的主要内容,如果未能解决你的问题,请参考以下文章

进程间通信——管道

进程间通信

进程间通信

进程间通信

iOS进程间通信之CFMessagePort

操作系统实验3共享内存进程间通信实验