
队列应用,涉及简单算法到多线程、多进程，以及分布式。

应用场景匹配的相应队列：
- 简单算法或小型任务：list（列表）作为队列,append() 入队，pop(0) 出队,简单易用。
- 单线程高性能：用 collections.deque，效率最高。
- 异步编程: 用 asyncio.Queue 
- 多线程安全：用 queue.Queue 
- 多线程优先级任务安全：用 queue.PriorityQueue ，确保高优先级的元素优先被取出。
- 多进程通信：用 multiprocessing.Queue，如果进程内部存在线程竞争，就需要加锁。

注意事项：
- 非线程安全的实现（如 deque,list）在多线程场景中需加锁 。
- multiprocessing.Queue 利用了操作系统提供的进程间通信（IPC, Inter-Process Communication）机制，具体实现取决于不同操作系统的支持。

其它可能用到的相关工具：
Redis，作为中间件提供共享存储和跨进程协调机制，处理缓存、消息队列、分布式锁、分布式状态共享。
Celery，用于管理异步任务或后台任务，一般用来做周期性任务或者长时间运行的任务。可用 Redis 做存储。
