立即学习:https://edu.csdn.net/course/play/24458/296433?utm_source=blogtoedu

队列和管道

1.存在的意义:

1)在前面的笔记中,使用join和互斥锁来保证了硬盘数据共享的数据安全性,但是降低了代码的运行效率;

2)而队列和管道的操作空间是内存,内存操作运行速度会更快,因此使用队列既可以保证数据共享的安全,也可以保证代码的运行效率;且互斥锁得考虑锁什么时候添加什么时候释放,比较难以掌握这个时间节点,但是队列就不用考虑这个问题;

3)队列是先进先出,管道是先进后出,队列和管道其实是相当于自带锁的。

2.Queue模块

1)put函数:往队列中添加元素

2)get函数:从队列中取得元素

3)full函数:确定队列是否元素已经满

4)empty函数:确定队列是否还有元素

3.代码

队列和管道里面不适宜存储较大的文件,一般只是使用在队列中存储一些信息

from multiprocessing import Queue
# from queue import Queue#和上面的模块的代码是一样的q = Queue(3)#定义一个队列,只能存放三个元素q.put([2,2,2,2])
q.put(3)
q.put('中国')
print(q.full())print('*'*50)print(q.get())
print(q.get())
print(q.get())
print(q.empty())

运行结果:

True
**************************************************
[2, 2, 2, 2]
3
中国
True

学习笔记(21):Python网络编程并发编程-队列的使用相关推荐

  1. 学习笔记(19):Python网络编程并发编程-互斥锁

    立即学习:https://edu.csdn.net/course/play/24458/296430?utm_source=blogtoedu 1.互斥锁: 多进程间的内存是相互隔离的,因此其数据也是 ...

  2. 学习笔记(34):Python网络编程并发编程-异步调用与回调机制

    立即学习:https://edu.csdn.net/course/play/24458/296452?utm_source=blogtoedu 1.知识点:(详细见代码注释) 1)同步调用: res1 ...

  3. 学习笔记(33):Python网络编程并发编程-进程池线程池

    立即学习:https://edu.csdn.net/course/play/24458/296451?utm_source=blogtoedu 进程池与线程池: 一般应用在网站上,进程池或线程池最大的 ...

  4. 学习笔记(28):Python网络编程并发编程-死锁与递归锁

    立即学习:https://edu.csdn.net/course/play/24458/296445?utm_source=blogtoedu 1.死锁(Lock()的局限性) 知识点:Lock()只 ...

  5. 学习笔记(18):Python网络编程并发编程-守护进程

    立即学习:https://edu.csdn.net/course/play/24458/296429?utm_source=blogtoedu 守护进程(了解) 1.概念:守护进程是主进程在创建子进程 ...

  6. 学习笔记(09):Python网络编程并发编程-模拟ssh远程执行命令-代码实现

    立即学习:https://edu.csdn.net/course/play/24458/296239?utm_source=blogtoedu 1.服务器端:接收客户端发送的命令,subprocess ...

  7. 学习笔记(08):Python网络编程并发编程-实现服务端可以对多个客户端提供服务

    立即学习:https://edu.csdn.net/course/play/24458/296237?utm_source=blogtoedu 链接循环,一个服务器服务多个客户端, 思路1:服务器一个 ...

  8. python 网页爬虫作业调度_第3次作业-MOOC学习笔记:Python网络爬虫与信息提取

    1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业. 4.提供图片或网站显示的学习 ...

  9. 学习笔记(06):Python网络编程并发编程-在简单套接字基础上加上通信循环

    立即学习:https://edu.csdn.net/course/play/24458/296235?utm_source=blogtoedu 1.服务器端 #以打电话通讯为例子进行说明 #导入相应的 ...

最新文章

  1. cdn托管html资源,七牛自定义域名cdn加速,静态资源托管至对象存储
  2. mysql 开启远程访问
  3. SpringCloud(第 017 篇)电影微服务接入Feign,添加 fallbackFactory 属性来触发请求进行容灾降级...
  4. 作者:郭琨(1985-),女,博士,中国科学院虚拟经济与数据科学研究中心助理研究员...
  5. “凡事不发朋友圈的人,都是过的不好的人”你认同这句话吗为什么?
  6. java后端服务运行原理_web服务的后台工作原理
  7. c++opencv汉字分割_基于OpenCV 的车牌识别
  8. 自己闲着没事整理的人工智能思维导图(2(鸢尾花))
  9. Maven环境变量配置及是否成功
  10. 营收环比增幅近50%,星巴克在经历“劫”后重生吗?
  11. 影响力最大化概述——《社会网络节点影响力分析研究》内容简述
  12. 图片边框变圆圈html,css如何设置边框的圆角样式?border-radius属性设置圆角样式(图 文)...
  13. Confusing Problem
  14. C++编译错误C2440“类型转换”: 无法从“void (__thiscall COpenGLWnd::* )(void)”转换为“DuiLib::DUI_PMSG解决办法
  15. 那个找不到工作的iOS程序猿
  16. linux 恶意软件检测,Linux恶意软件检测共享主机
  17. 1.Linux中超频及cpufreq相关汇总
  18. layer兼容性问题
  19. R可视化ggplot2绘制多子图
  20. pip安装模块时换源下载

热门文章

  1. C#抽象类与接口的比较
  2. 彻底解决iOS项目中 _OBJC_CLASS_$_XXXService, referenced from: 的类似问题
  3. iOS中监测来电方案
  4. 动态添加后的数据转换 — 后台接收数据
  5. 给页面加速,干掉Dom Level 0 Event
  6. CDH集群安装配置(四)- mysql 的安装
  7. Django 学习资源
  8. [Spring]-各种标注-零配置
  9. express下使用ES6 - dtdxrk - 博客园
  10. 移动WEB的页面布局