繁体   English   中英

Rust:发送一个parking_lot :: RwLockReadGuard

[英]Rust: Sending a parking_lot::RwLockReadGuard

这是我尝试编写的简化代码:

use parking_lot::RwLock;

let buffers: Box<[RwLock<MyBuffer>]> = Box::new([ ... ]);
let (sender, receiver) = std::sync::mpsc::channel();

thread::spawn(move || {
    let guard = buffers[ ... ].write().unwrap();
    expensive_computation(&mut *guard);
    sender.send(guard.downgrade()).unwrap();
});

for message in receiver.iter() {
    // Handle the message
}

但是, RwLockReadGuard不是Send ,因此此代码无法编译。

如何解决跨线程边界发送RwLockReadGuard的问题?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM