学习笔记(21):Python网络编程并发编程-队列的使用
立即学习: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网络编程并发编程-队列的使用相关推荐
- 学习笔记(19):Python网络编程并发编程-互斥锁
立即学习:https://edu.csdn.net/course/play/24458/296430?utm_source=blogtoedu 1.互斥锁: 多进程间的内存是相互隔离的,因此其数据也是 ...
- 学习笔记(34):Python网络编程并发编程-异步调用与回调机制
立即学习:https://edu.csdn.net/course/play/24458/296452?utm_source=blogtoedu 1.知识点:(详细见代码注释) 1)同步调用: res1 ...
- 学习笔记(33):Python网络编程并发编程-进程池线程池
立即学习:https://edu.csdn.net/course/play/24458/296451?utm_source=blogtoedu 进程池与线程池: 一般应用在网站上,进程池或线程池最大的 ...
- 学习笔记(28):Python网络编程并发编程-死锁与递归锁
立即学习:https://edu.csdn.net/course/play/24458/296445?utm_source=blogtoedu 1.死锁(Lock()的局限性) 知识点:Lock()只 ...
- 学习笔记(18):Python网络编程并发编程-守护进程
立即学习:https://edu.csdn.net/course/play/24458/296429?utm_source=blogtoedu 守护进程(了解) 1.概念:守护进程是主进程在创建子进程 ...
- 学习笔记(09):Python网络编程并发编程-模拟ssh远程执行命令-代码实现
立即学习:https://edu.csdn.net/course/play/24458/296239?utm_source=blogtoedu 1.服务器端:接收客户端发送的命令,subprocess ...
- 学习笔记(08):Python网络编程并发编程-实现服务端可以对多个客户端提供服务
立即学习:https://edu.csdn.net/course/play/24458/296237?utm_source=blogtoedu 链接循环,一个服务器服务多个客户端, 思路1:服务器一个 ...
- python 网页爬虫作业调度_第3次作业-MOOC学习笔记:Python网络爬虫与信息提取
1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业. 4.提供图片或网站显示的学习 ...
- 学习笔记(06):Python网络编程并发编程-在简单套接字基础上加上通信循环
立即学习:https://edu.csdn.net/course/play/24458/296235?utm_source=blogtoedu 1.服务器端 #以打电话通讯为例子进行说明 #导入相应的 ...
最新文章
- cdn托管html资源,七牛自定义域名cdn加速,静态资源托管至对象存储
- mysql 开启远程访问
- SpringCloud(第 017 篇)电影微服务接入Feign,添加 fallbackFactory 属性来触发请求进行容灾降级...
- 作者:郭琨(1985-),女,博士,中国科学院虚拟经济与数据科学研究中心助理研究员...
- “凡事不发朋友圈的人,都是过的不好的人”你认同这句话吗为什么?
- java后端服务运行原理_web服务的后台工作原理
- c++opencv汉字分割_基于OpenCV 的车牌识别
- 自己闲着没事整理的人工智能思维导图(2(鸢尾花))
- Maven环境变量配置及是否成功
- 营收环比增幅近50%,星巴克在经历“劫”后重生吗?
- 影响力最大化概述——《社会网络节点影响力分析研究》内容简述
- 图片边框变圆圈html,css如何设置边框的圆角样式?border-radius属性设置圆角样式(图 文)...
- Confusing Problem
- C++编译错误C2440“类型转换”: 无法从“void (__thiscall COpenGLWnd::* )(void)”转换为“DuiLib::DUI_PMSG解决办法
- 那个找不到工作的iOS程序猿
- linux 恶意软件检测,Linux恶意软件检测共享主机
- 1.Linux中超频及cpufreq相关汇总
- layer兼容性问题
- R可视化ggplot2绘制多子图
- pip安装模块时换源下载