Rust 并发和并行
并发编程(Concurrent programming),代表程序的不同部分相互独立的执行(不一定并行),而并行编程(parallel programming)代表程序不同部分于同时执行 // Wikipedia
绿色线程的 M:N 模型更大的语言运行时来管理这些线程。为此,Rust 标准库只提供了 1:1 线程模型(一个 OS 线程对应一个语言线程)实现 // 不是已经被移除的 libgreen
当主线程结束时,新线程也会结束,而不管其是否执行完毕。使用 join 等待所有线程结束
使用线程间消息传递,通道中发送数据转移了所有权
使用互斥器来访问共享内存(mutex)
克隆了 Rc 的值并尝试将克隆的所有权转移到另一个线程,这两个线程都可能同时更新引用计数,所以 Rc 被实现为用于单线程场景