In Rust möchte ich einen Rückruf (z. B. eine Schließung) angeben, der von einem Worker-Thread aufgerufen wird, wenn etwas Interessantes passiert. Was wäre die korrekte Signatur für den Rückruf?"Kann unveränderlichen Inhalt nicht als änderbar ausleihen" beim Verschieben einer Schließung in einen Thread
Dies ist ein Beispiel dafür, was ich zu tun versucht:
use std::thread;
fn spawner(f: Box<FnMut()->()+Send>) -> thread::JoinHandle<()> {
thread::spawn(move || {
f();
})
}
fn main() {
let cb = || {
println!("callback");
};
spawner(Box::new(cb)).join().unwrap();
}
src/main.rs:5:9: 5:10 error: cannot borrow immutable `Box` content `*f` as mutable src/main.rs:5 f();