首页 > 系统服务 > 详细

进程间通信

时间:2018-05-17 22:47:37      阅读:168      评论:0      收藏:0      [点我收藏+]

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

  。。。

进程间通信

原文:https://www.cnblogs.com/alex-hrg/p/9053684.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!