织梦 网站版权信息,cms监控软件,云南建设项目招标公告发布网站,上海建筑工程网站立即学习:https://edu.csdn.net/course/play/24458/296433?utm_sourceblogtoedu
队列和管道 1.存在的意义#xff1a; 1#xff09;在前面的笔记中#xff0c;使用join和互斥锁来保证了硬盘数据共享的数据安全性#xff0c;但是降低了代码的运行效率#xff1b; 2#x…立即学习:https://edu.csdn.net/course/play/24458/296433?utm_sourceblogtoedu
队列和管道 1.存在的意义 1在前面的笔记中使用join和互斥锁来保证了硬盘数据共享的数据安全性但是降低了代码的运行效率 2而队列和管道的操作空间是内存内存操作运行速度会更快因此使用队列既可以保证数据共享的安全也可以保证代码的运行效率且互斥锁得考虑锁什么时候添加什么时候释放比较难以掌握这个时间节点但是队列就不用考虑这个问题 3队列是先进先出管道是先进后出队列和管道其实是相当于自带锁的。 2.Queue模块
1put函数往队列中添加元素
2get函数从队列中取得元素
3full函数确定队列是否元素已经满
4empty函数确定队列是否还有元素 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