Skip to content
On this page

并发

SendSync

  • Send:类型所有权可在线程间转移。
  • Sync&T 可安全在线程间共享(若 T: Sync,则 &T: Send 等关系见文档)。

闭包自动推导 Send/Sync 约束;违反时编译期报错,而非数据竞争后才发现。

std::thread::spawn

闭包捕获须 'static(无悬挂引用);跨线程共享用 Arc<T> 与内部可变性(MutexRwLock)等。

通道

std::sync::mpsc:多生产者单消费者;crossbeam-channel 等在生态中常见。优先消息传递,共享内存其次。

异步(简述)

async/.await 由运行时(Tokio 等)调度;与 OS 线程模型不同,阻塞 syscall 会占用 worker,应使用运行时提供的阻塞池或改造为异步 I/O。

技术文库