学习笔记(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

发布了39 篇原创文章 · 获赞 11 · 访问量 412

猜你喜欢

转载自blog.csdn.net/qq_45769063/article/details/104902779