Python 进程操作之进程间通过队列共享数据,队列Queue简单示例


Posted in Python onOctober 11, 2019

本文实例讲述了Python 进程操作之进程间通过队列共享数据,队列Queue。分享给大家供大家参考,具体如下:

队列中的数据是放在内存中的,可以通过分布式缓存redis优化队列。

demo.py(进程通过队列共享数据):

import multiprocessing
def download_from_web(q):
  """下载数据"""
  # 模拟从网上下载的数据
  data = [11, 22, 33, 44]
  # 向队列中写入数据
  for temp in data:
    q.put(temp) # 队列中写数据,队列满了会阻塞。 put_nowait() 队列满了会抛异常
  print("---下载器已经下载完了数据并且存入到队列中----")
def analysis_data(q):
  """数据处理"""
  waitting_analysis_data = list()
  # 从队列中获取数据
  while True:
    data = q.get() # 队列中读数据,队列空了会阻塞。 get_nowait() 队列空了会抛异常
    waitting_analysis_data.append(data)
    if q.empty(): # 队列是否为空。 q.full() 队列是否满了。
      break
  # 模拟数据处理
  print(waitting_analysis_data)
def main():
  # 1. 创建一个队列 (先进先出)
  q = multiprocessing.Queue(10) # 最多放10个数据。 如果不指定长度,默认最大(和硬件相关)
  # 2. 创建多个进程,将队列的引用当做实参进行传递
  p1 = multiprocessing.Process(target=download_from_web, args=(q,))
  p2 = multiprocessing.Process(target=analysis_data, args=(q,))
  p1.start()
  p2.start()
if __name__ == "__main__":
  main()

运行结果:

---下载器已经下载完了数据并且存入到队列中----
[11, 22, 33, 44]

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python入门篇之面向对象
Oct 20 Python
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
Apr 08 Python
详解在Python程序中使用Cookie的教程
Apr 30 Python
Python将图片批量从png格式转换至WebP格式
Aug 22 Python
利用Python爬虫给孩子起个好名字
Feb 14 Python
python 函数传参之传值还是传引用的分析
Sep 07 Python
Django项目中包含多个应用时对url的配置方法
May 30 Python
Python 文件数据读写的具体实现
Jan 24 Python
详解Python中的分支和循环结构
Feb 11 Python
Python实现进度条和时间预估的示例代码
Jun 02 Python
利用scikitlearn画ROC曲线实例
Jul 02 Python
pandas map(),apply(),applymap()区别解析
Feb 24 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
Oct 11 #Python
Python中的延迟绑定原理详解
Oct 11 #Python
python pycharm的安装及其使用
Oct 11 #Python
详解Python3迁移接口变化采坑记
Oct 11 #Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
Oct 11 #Python
Pycharm 2019 破解激活方法图文详解
Oct 11 #Python
python 扩展print打印文件路径和当前时间信息的实例代码
Oct 11 #Python
You might like
浅析php数据类型转换
2014/01/09 PHP
精通Javascript系列之数值计算
2011/06/07 Javascript
关于图片按比例自适应缩放的js代码
2011/10/30 Javascript
jQuery中:not选择器用法实例
2014/12/30 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
js实现文字闪烁特效的方法
2015/12/17 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
2016/05/17 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
JavaScript数据结构之二叉树的查找算法示例
2017/04/13 Javascript
纯js实现隔行变色效果
2017/11/29 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
spirngmvc js传递复杂json参数到controller的实例
2018/03/29 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
Django框架 querySet功能解析
2019/09/04 Python
使用pickle存储数据dump 和 load实例讲解
2019/12/30 Python
python实现梯度下降和逻辑回归
2020/03/24 Python
关于tensorflow softmax函数用法解析
2020/06/30 Python
keras:model.compile损失函数的用法
2020/07/01 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
屈臣氏马来西亚官网:Watsons马来西亚
2019/06/15 全球购物
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
环境科学专业研究生求职信
2013/10/02 职场文书
优秀交警事迹材料
2014/01/26 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python
Apache Linkis 中间件架构及快速安装步骤
2022/03/16 Servers
【TED出品】天梯非主流开心游1700 划水骑士
2022/03/31 魔兽争霸