Rust 并发和并行

并发编程Concurrent programming),代表程序的不同部分相互独立的执行(不一定并行),而并行编程parallel programming)代表程序不同部分于同时执行 // Wikipedia

绿色线程的 M:N 模型更大的语言运行时来管理这些线程。为此,Rust 标准库只提供了 1:1 线程模型(一个 OS 线程对应一个语言线程)实现 // 不是已经被移除的 libgreen

当主线程结束时,新线程也会结束,而不管其是否执行完毕。使用 join 等待所有线程结束

使用线程间消息传递,通道中发送数据转移了所有权

使用互斥器来访问共享内存(mutex

克隆了 Rc 的值并尝试将克隆的所有权转移到另一个线程,这两个线程都可能同时更新引用计数,所以 Rc 被实现为用于单线程场景