翻墙软件推荐:

V2net翻墙软件是我一直在用的,价格很实惠,有各个档次可以选择,翻墙效果还是很好的。

点击查看
目录
首发于:
最近更新于:

queue模块

本文主要简要介绍了python的内置模块queue, 更多内容请参看 官方文档.

queue模块提供了

  • Queue类, 先进先出队列
  • LifoQueue类, 后进先出队列
  • PriorityQueue类, 优先级队列

优先级队列可以设置队列内的数据如下:

from dataclasses import dataclass, field
from typing import Any

@dataclass(order=True)
class PrioritizedItem:
    priority: int
    item: Any=field(compare=False)

这几个Queue类都支持下面这些方法:

  • put 放一个item
  • get 取一个item 阻塞式
  • join和task_done join方法和task_done方法是联动的, 当一个item put进去之后会增加一个计数, task_done声明一次说已经消费了一个item, 主控程序join方法那里会阻塞, 直到每个put进去的item都声明了task_done为止.