我正在尝试将调度程序传递给将由新产生的线程使用的结构。所有这些都需要循环发生:
// Custom structure
struct CSlice<'a> {
scheduler: &'a mut StandaloneScheduler
}
impl<'a> CSlice<'a> {
fn start(self)
{
println!("Start slice");
unsafe {
control_nf(self.scheduler); // It gets passed on and on to different functions.
}
}
}
fn main() {
for i in 0..max_slices {
let mut sched = StandaloneScheduler::new();
let mut slice = CtrlSlice {
scheduler: &mut sched}; // Error (Temp value/ Cannot borrow here)
}
thread::spawn(move || slice.start());
}
}
我在做什么错?我尝试克隆,但是Scheduler
未实现Clone
。我知道该引用在传递给函数时超出了范围,但我不确定如何解决。