Python——Queue(队列模块)

特点:

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

常用命令:

get

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

put

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

get_nowait

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

put_nowait

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

Queue(先进先出队列)

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

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

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

常用于算法相关

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

PriorityQueue(优先级队列)

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

  

 

posted @   新兵蛋Z  阅读(152)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示