tokio和你这个rc没有关系。
你的rc是async的状态(可以简单想像成stack frame)的一部分。只要任何一个状态是!Send,整个async就是!Send。
然后tokio::spawn:
pub fn spawn<T>(task: T) -> JoinHandle<T::Output> where
T: Future + Send + 'static,
T::Output: Send + 'static,
类型不匹配,仅此而已。
你要用!Send,可以spawn_local:
pub fn spawn_local<F>(future: F) -> JoinHandle<F::Output> where
F: Future + 'static,
F::Output: 'static,
【 在 txgx 的大作中提到: 】
: 对于tokio这个例子,当await的时候,它是怎么外理rc这个变量的?
: 发自「今日水木 on MRX-W29」
--
修改:ilovecpp FROM 58.37.58.*
FROM 58.37.58.*