当接收通道需要包装在互斥体中才能从多个therads读取时,多生产者多消费者通道的意义何在?



我正在查看Flume的无边界通道(mpmc(,但我很困惑为什么它是这样命名的,因为使用者通道需要封装在互斥体中才能从多个线程接收来自它的消息?那么mpmc和mpsc有什么区别呢?

Rust社区Discord上有人给了我一个答案:

有人告诉我flume::Receiver实现了Clone + Send + Sync,所以它不需要封装在Mutex中。我只需要在接收器上克隆一个引用并将其发送到线程。

最新更新