#mpmc #channel #mpsc #spmc #spsc

no-std concurrent-queue

并发多生产者多消费者队列

14 个稳定版本

2.5.0 2024 年 4 月 26 日
2.4.0 2023 年 12 月 2 日
2.3.0 2023 年 9 月 25 日
2.2.0 2023 年 4 月 7 日
0.0.1 2020 年 5 月 17 日

57并发 中排名

Download history 666432/week @ 2024-05-03 715636/week @ 2024-05-10 701936/week @ 2024-05-17 699532/week @ 2024-05-24 744086/week @ 2024-05-31 730436/week @ 2024-06-07 714697/week @ 2024-06-14 737483/week @ 2024-06-21 683880/week @ 2024-06-28 710270/week @ 2024-07-05 730963/week @ 2024-07-12 771862/week @ 2024-07-19 806445/week @ 2024-07-26 845262/week @ 2024-08-02 899879/week @ 2024-08-09 709943/week @ 2024-08-16

3,408,414 每月下载量
用于 7,689 个 Crates(直接使用 50 个)

Apache-2.0 或 MIT

64KB
1K SLoC

concurrent-queue

Build License Cargo Documentation

一个并发多生产者多消费者队列。

有两种类型的队列

  1. 有界队列,具有有限的容量。
  2. 无界队列,具有无限的容量。

队列还可以在任何时候关闭。当关闭时,不能向队列中推送更多项目,尽管还可以弹出剩余的项目。

这些功能使得在 crate 上构建类似 std::sync::mpsc 的通道变得很容易。

示例

use concurrent_queue::ConcurrentQueue;

let q = ConcurrentQueue::unbounded();
q.push(1).unwrap();
q.push(2).unwrap();

assert_eq!(q.pop(), Ok(1));
assert_eq!(q.pop(), Ok(2));

许可证

根据以下任一许可证授权:

由您选择。

贡献

除非您明确表示,否则任何有意提交给工作并包含在 Apache-2.0 许可证定义中的贡献,将按照上述方式双授权,而不附加任何额外条款或条件。

依赖关系

~0–25MB
~339K SLoC