学习笔记(21):Python网络编程&并发编程-队列的使用
2023-09-11 14:21:45 时间
立即学习: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
相关文章
- python后端面试第四部分:django框架--长期维护
- python操作Excel模块openpyxl
- 华为OD机试 - 矩阵扩散(Java & JS & Python)
- 华为OD机试 - 开放日活动、取出尽量少的球(Java & JS & Python)
- 华为OD机试 - 没有回文串(Java & JS & Python)
- 华为OD机试 - 最短木板长度(Java & JS & Python)
- 华为OD机试 - 金字塔(Java & JS & Python)
- 华为OD机试 - 数大雁(Java & JS & Python)
- Python语言学习之文件夹那些事:python和文件夹的使用方法之详细攻略
- Python:更改默认启动的python程序及其对应的安装包路径(更改pip的默认安装包的路径)图文教程之详细攻略
- Python语言学习:Python语言学习之文件读取&写入/操作系统(OS模块详解)的简介、案例应用之详细攻略
- 已解决2.Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and wi
- 已解决2. Set PROTOCOL_BUPFERS_PYTHON_iMPLEMENTATION=python (but this will use pure-Python parsing and w
- 已解决(Python安装报错)Visit python.org to download an earlier version of Python.
- 大学室友用python,一个月挣了我一学期的生活费,是什么感觉?
- 让我们用python来采集数据看看找工作都要会什么吧~
- Python Django框架学习08:Django 视图
- python之实现解压缩文件(亲测可用)
- Python:mysql-connector-python模块对MySQL数据库进行增删改查
- 写网络爬虫天然就是择Python而用 python 网络爬虫3
- 【Python】Visual Studio Code 安装&&使用 hello python~~~~
- 自学Python数据分析之后,我有几点经验分享
- Python 同一个类中不同函数相互调用