前言
最近在用 Pyside2 写机器人的上位机项目时,遇到了一个需要用到优先级队列的场景
优先级队列
在Python中,我们可以使用
PriorityQueue
类的
put()
方法添加元素,使用
get()
方法获取并删除优先级最高的元素。
在这个例子中,
'eat'
有最高的优先级(1),所以它会被最先打印出来。
用起来吧!
数字的大小,代表这个对象的,在队列中,被取出时的优先级,越小越优先(VIP)
数字可以是
浮点数
,例如:
0.5
、
1
、
1.5
…
-
ProducerThreadA
类模拟不断产生,优先级较低的,”查询命令“的线程 -
ProducerThreadB
类模拟不断产生,优先级高的”控制命令“的线程 -
ConsumerThread
类模拟”服务端“,不断处理来自,客户端的命令