当前位置: 首页 > news >正文

多进程队列


from multiprocessing import Queue# put:向队列中添加元素,如果数量超出队列长度,那么程序阻塞,等待get方法执行
# get:从队列中获取元素,如果获取的数量超出队列长度,那么程序阻塞,等待put方法执行# put_nowait:向队列中添加元素,如果数量超出队列长度,程序报错  queue.Full
# get_nowait:从队列中获取元素,如果获取的数量超出队列长度,程序报错  _queue.Emptyq = Queue(5)
q.put_nowait("鱼香肉丝")
q.put_nowait("蛋炒面")
q.put_nowait("蛋炒饭")
q.put_nowait("西红柿鸡蛋")
q.put_nowait("馒头")# q.put_nowait("饺子")print(q.get_nowait())
print(q.get_nowait())
print(q.get_nowait())
print(q.get_nowait())
print(q.get_nowait())print(q.get_nowait())print("放置结束")# q.put("鱼香肉丝")
# q.put("蛋炒面")
# q.put("蛋炒饭")
# q.put("西红柿鸡蛋")
# q.put("馒头")
#
# q.get("蛋炒面")
#
# # 当队列中的数据占满,再往队列中放置信息,程序阻塞等待
# q.put("饺子")# q.put("鱼香肉丝")
# q.put("蛋炒面")
# q.put("蛋炒饭")
# q.put("西红柿鸡蛋")
# q.put("馒头")
#
# print(q.get())
# print(q.get())
# print(q.get())
# print(q.get())
# print(q.get())
#
#
# print(q.get())
#
# print("放置结束")

生产者与消费者
 


from multiprocessing import Process, Queue, Lock
import timedef producer(q, l, food):while 1:# 生产者l.acquire()item = "厨师在后厨制作了%s" % foodq.put(item)print(item)time.sleep(1)l.release()def consumer(q, l, name):while 1:l.acquire()item = q.get()print("%s 从吧台拿走了 %s" % (name, item))time.sleep(1)l.release()if __name__ == '__main__':q = Queue(2)l = Lock();p1 = Process(target=producer, args=(q, l, "蛋炒面"))p2 = Process(target=producer, args=(q, l, "红色的棉花糖"))p3 = Process(target=consumer, args=(q, l, "吃货路飞"))p4 = Process(target=consumer, args=(q, l, "吃货船医乔巴"))p1.start()p2.start()p3.start()p4.start()

多进程的数据共享
 

from multiprocessing import Manager, Processdef ff(num):num[0] = 78if __name__ == '__main__':m = Manager()num = m.list([1, 2, 3, 4, 5, 6])p = Process(target=ff, args=(num,))p.start()p.join()print(num)

相关文章:

  • 前端笔记-Vue3(上)
  • http 文件下载和上传服务
  • 经典文献阅读之--SSR:(端到端的自动驾驶真的需要感知任务吗?)
  • ubuntu18.04启动不了修复
  • PythonWeb
  • 【AI论文】生成,但验证:通过回顾性重采样减少视觉语言模型中的幻觉
  • 数字ic后端设计从入门到精通2(含fusion compiler, tcl教学)
  • Origin绘图——双Y轴柱状图升级双向柱状图
  • 【C++游戏引擎开发】第18篇:视锥体裁剪与光源剔除
  • Java并发编程-线程池
  • numpy、pandas内存优化操作整理
  • 配置nginx服务,通过多ip区分多网站
  • 4399后端一面
  • 静态点亮数码管的某几段(STC89C52单片机)
  • SwiftUI 音频播放器:AVPlayer 在线播放 + 播放进度条 + 音量调节 + 后台播放
  • Python面向对象程序设计
  • FreeRTos学习记录--1.工程创建与源码概述
  • 深度学习预训练和微调
  • WWW2025 快手最新论文 T2Diff 解读:生成式扩散模型+混合注意力打造高效推荐
  • Synopsys:printvar命令和puts/echo命令的区别
  • 日媒:日本公明党党首将访华,并携带石破茂亲笔信
  • 广发基金刘格崧一季报:首次买入广东宏大、分众传媒,减仓亿纬锂能
  • 著名电化学家、我国工业电化学奠基人之一郭鹤桐逝世
  • 用8年还原曹操墓鉴定过程,探寻曹操墓新书创作分享会举行
  • “明制美学”的舞台呈现,陆川导演首部舞剧《天工开物》
  • 经济日报经世言:不断开创中马关系发展新局面