标准库和tokio里的mpsc的Sender的Sync问题

💡 原文中文,约1200字,阅读约需3分钟。
📝

内容提要

使用Tokio的mpsc时,可以声明全局的Sender,但使用标准库的mpsc时会报错,提示Sender没有实现Sync。标准库的文档中显示Sender是实现了Sync的,为什么会报错呢?tokio的Sender与标准库的Sender有什么区别呢?

🎯

关键要点

  • 使用Tokio的mpsc时,可以声明全局的Sender。
  • 使用标准库的mpsc时会报错,提示Sender没有实现Sync。
  • 代码示例中,Tokio的Sender声明正确,而标准库的Sender声明错误。
  • 报错信息指出std::sync::mpsc::Sender<usize>不能安全地在多个线程间共享。
  • 标准库文档显示Sender实现了Sync,但在此处仍然报错。
  • 提出两个问题:1) 为什么标准库的Sender在此处报错?2) Tokio的Sender与标准库的Sender有什么区别?
🏷️

标签

➡️

继续阅读