标准库和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有什么区别?
🏷️