Python——Queue(队列模块)

特点:

  1. 不能完成进程之间的通信,因为没有IPC
  2. 可以进行线程之间的通信
  3. 里面没有值或取不到值,将进入等待状态。
  4. linux和winodws,线程的get_nowait和put_nowait都支持。进程的linux不支持。

常用命令:

get

  • 获取队列数据
  • 获取不到将阻塞

put

  • 上传数据至队列。
  • 如果超出了规定的队列长度,那么将会进行阻塞。

get_nowait

  • 获取队列数据
  • 获取不到将报错

put_nowait

  • 上传数据至队列
  • 超出队列长度将报错

Queue(先进先出队列)

常使用于c/s端,统一进行处理。

from queue  import Queue                #先进先出队列
q  = Queue( 2 )
q.put( 1 )
q.get()

LifoQueue(后进先出队列,栈的表现形式)

常用于算法相关

from queue  import LifoQueue          #后进先出(栈)
q  = LifoQueue( 2 )
q.put( 1 )
q.get()

PriorityQueue(优先级队列)

  1. 带有优先级的服务时,像VIP。
  2. 可以直接写字符串形式,会按照ascii码排列
  3. 不能数字和字符串一起进行
from queue  import PriorityQueue      #优先级队列
q  = PriorityQueue()
q.put(( 10 , 'xuan' ))
q.put(( 20 , 'haha' ))
q.put(( 6 , 'haha' ))
q.get()
q.get()
q.get()

  

 

posted @ 2022-04-12 16:12  新兵蛋Z  阅读(163)  评论(0)    收藏  举报