python多进程任务队列_8.python多进程之队列

本文介绍了Python中的多进程队列,包括其作为进程间通信(IPC)方式的角色、先进先出特性以及Queue类的使用。详细阐述了Queue的构造参数、常用方法如get()和put(),并提供了两个实例,展示了如何使用Queue进行数据传递以及在多进程中通信。
摘要由CSDN通过智能技术生成

一、队列

IPC(Inter-Process Communication)进程之间通信

队列先进先出

Queue()实例化是可以传一个参数代表队列上限,如果不传或传负数都表示队列没有限制。

当队列容量不够时会阻塞

Queue可以创建共享的进程队列,Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传递

二、常用属性和方法

Queue([maxsize])

创建共享的进程队列。

参数 :maxsize是队列中允许的最大项数。如果省略此参数,则无大小限制。

底层队列使用管道和锁定实现。

q.get( [ block [ ,timeout ] ] )

返回q中的一个项目。如果q为空,此方法将阻塞,直到队列中有项目可用为止。

block用于控制阻塞行为,默认为True阻塞进程. 如果设置为False,不阻塞但将引发Queue.Empty异常(定义在Queue模块中)。

timeout是可选超时时间,用在阻塞模式中。如果在制定的时间间隔内没有项目变为可用,将引发Queue.Empty异常。

q.get_nowait( )

同q.get(False)方法。

q.put(item [, block [,timeout ] ] )

将item放入队列。如果队列已满,此方法将阻塞至有空间可用为止。

block控制阻塞行为,默认为True阻塞。如果设置为False,不阻塞但将引发Queue.Empty异常(定义在Queue库模块中)。

timeout指定在阻塞模式中等待可用空间的时间长短。超时后将引发Queue.Full异常。

q.pu

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值