Rust中FnOnce如何传递给一个约束Fn的回调
在这个修改后的例子中,我们创建了一个 Arc。我们创建一个 Option,这样我们就可以在闭包中使用 take() 方法将其设置为 None,这样就可以将其移动出 Mutex,而无需在闭包中保持锁定。这样,我们就可以在 set_cb 调用中使用 join_handle,而无需担心所有权问题。代码中的问题是你试图在闭包中捕获 join_handle,但 std::thread::JoinHandle 不满足 Fn trait,因为它不是 Clone 和 Copy。
原创
2023-10-12 11:40:38 ·
500 阅读 ·
0 评论