python 多个死循环_python 进程间通信Queue/Pipe(42)

本文介绍了Python中进程间通信的方法,重点讲解了Queue和Pipe的使用。Queue适合多个进程间的通信,而Pipe适用于一对一的通信。通过实例展示了Queue的put()和get()方法以及Pipe的send()和recv()方法。最后,文中提到了尝试使用线程的Queue进行进程间通信会导致异常。
摘要由CSDN通过智能技术生成
文章首发微信公众号,微信搜索:猿说python

一.前言

1.在前一篇文章 python进程Process与线程threading区别 中讲到线程threading共享内存地址,进程与进程Peocess之间相互独立,互不影响(相当于深拷贝);

2.在线程间通信的时候可以使用Queue模块完成,进程间通信也可以通过Queue完成,但是此Queue并非线程的Queue,进程间通信Queue是将数据 pickle 后传给另一个进程的 Queue,用于父进程与子进程之间的通信或同一父进程的子进程之间通信;

使用Queue线程间通信:

#导入线程相关模块
import threading
import queue 
 
q = queue.Queue()

使用Queue进程间通信,适用于多个进程之间通信:

# 导入进程相关模块
from multiprocessing import Process
from multiprocessing import Queue 
 
q = Queue()

使用Pipe进程间通信,适用于两个进程之间通信(一对一):

# 导入进程相关模块 
from multiprocessing import Process 
from multiprocessing import Pipe 
 
pipe = Pipe()

二.python进程间通信Queue/Pipe使用

python提供了多种进程通信的方式,主要Queue和Pipe这两种方式,Queue用于多个进程间实现通信,Pipe用于两个进程的通信;

1.使用Queue进程间通信,Queue包含两个方法:

  • put():以插入数据到队列中,他还有两个可选参数:blocked和timeout。详情自行百度
  • get():从队列读取并且删除一个元素。同样,他还有两个可选参数:blocked和timeout。详情自行百度
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值