【发布时间】:2024-04-18 01:35:02
【问题描述】:
如果我有一个在线程之间发送不安全的类型,我用Arc<Mutex<T>> 包装它。这样我可以保证当我访问它时,我需要先解锁它。但是,当 T 没有实现 Send + Sync 时,Rust 仍然会抱怨。
它不应该适用于任何类型吗?在我的例子中,T 是一个通过 FFI 访问 C 对象的结构,所以我不能将它标记为 Sync + Send。
在这种情况下我能做什么?为什么 Rust 不接受 Arc<Mutex<T>> 在线程之间安全共享?
【问题讨论】:
标签: rust