“错误:借入的值不能有效使用很长时间”给线程分配参考值时,其作用域失去作用

时间:2019-01-30 15:24:54

标签: rust

我正在尝试将调度程序传递给将由新产生的线程使用的结构。所有这些都需要循环发生:

// 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。我知道该引用在传递给函数时超出了范围,但我不确定如何解决。

0 个答案:

没有答案