Rust:发送一个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 is not Send是这样,因此该代码无法编译。

我应该如何解决在线程边界上发送rwlockReadGuard的问题?

lwword 回答:Rust:发送一个parking_lot :: RwLockReadGuard

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3001799.html

大家都在问