python—队列(Queue)

队列的基本知识:

队列为:先进先出[FIFO]

队列 (queue) 是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,

和栈一样,队列是一种操作受限制的线性表。

进行插入操作的端称为队尾,进行删除操作的端称为队头。

在这里插入图片描述

队列数据结构包含的功能有:

队列是否为空 is_empty()

往队尾添加一个元素 enqueue(elem)

将队头的元素删除,并返回这个元素的值 dequeue

查看队头 peek()打印队列 print_queue()

扫描二维码关注公众号,回复: 9256147 查看本文章

queue队列

  1. 创建 queue队列对象
    q = multiprocessing.Queue(3) # 3表示只能存放3个数据
    参数 :maxsize是队列中允许的大项数。如果省略此参数,则无大小限制。
    返回值q 是队列对象
  2. put()方法 ,向队列中存放数据。如果队列已满,此方法将阻塞至有空间可用为止。
  3. get()返回q中的一个项目。如果q为空,此方法将阻塞,直到队列中有项目可用为止。
  4. get_nowait(): 不等待,直接抛出异常
  5. full()如果q已满,返回为True
  6. q.empty() 如果调用此方法时 q为空,返回True。

代码实现:

from multiprocessing import Queue
import multiprocessing
#1.创建一个队列对象
q=multiprocessing.Queue(3)
#参数maxsize是队列中允许最大项数,如果忽略此参数,则无大小限制
#2.put方法,向队列里放数据
q.put("hello")
q.put(123)
q.put([1,2,3])
# q.get()
# q.put("python")
#get方法,获取数据
# print(q.get_nowait())
print(q.get())
print(q.get())
print(q.get())
# print(q.get())
# print("---------------------")


#3.qsize(),获取队列长度(队列中的数据数量)
print("队列中有多少数据",q.qsize())

#4.full()判断队列中是否存满了
print(q.full())

#5.empty()判断队列中的数据是否空了,True表示空了
print(q.empty())

运行结果:

hello
123
[1, 2, 3]
队列中有多少数据 0
False
True
发布了36 篇原创文章 · 获赞 49 · 访问量 2874

猜你喜欢

转载自blog.csdn.net/HENG302926/article/details/103884911