python网络编程:Queue的使用、队列阻塞、多线程、死锁

本文介绍了Python中Queue的使用,包括队列的创建、添加和移除消息,以及判断队列状态的方法。接着探讨了多线程的概念,展示了线程数量的统计方法和两种线程实现方式。还讨论了线程间共享全局变量可能导致的数据丢失问题及解决策略——互斥锁,最后讲解了死锁的概念及其避免方法。
摘要由CSDN通过智能技术生成

第一、Queue的使用

创建 queue队列对象
参数 :maxsize是队列中允许的最大项数。如果省略此参数,则无大小限制。
返回值q 是队列对象
具体使用程序如下:
步骤1:导入模块

from multiprocessing import Queue

步骤2:创建一个队列

q = Queue(3)#可接一个整数,表示队列的容量,如果省略则表示不设上限。
print(q.empty())#True

步骤3:往队列添加消息
格式:put(obj, block=True, timeout=None)
obj:消息对象

q.put('消息1')
print(q.empty())#False
print('~~~~~~~~~~q.qsize:',q.qsize())#1
q.put('消息2')
print(q.full())#False
q.put('消息3')

判断队列状态的方法

q.full()#判断队列是否满足,返回一个布尔值,表示当前队列是否满了。
print(q.full())#True
q.empty()#判断队列是否为空,返回一个布尔值,表示当前队列是否为空
q.qsize()#返回一个数值,表示当前队列的消息数量

步骤4:从队列中取消息

value = q.get()
print(value)#消息1
value = q.get()
print(value)#消息2
value = q.get()
pri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值