当前位置:嗨网首页>书籍在线阅读

10-线程的并发模型

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

8.4 线程的并发模型

我们使用线程的主要目的是执行可以拆分为多个子问题的任务,其中线程可能需要彼此通信或共享数据。现在,使用线程模型作为基础,用不同的方法来构建我们的程序并控制对共享数据的访问。并发模型指定多线程之间如何进行指令交互和数据共享,以及它们在时间和空间(这里指内存)上如何完成进度。

Rust并不会倾向于使用任何固有的并发模型,允许开发者使用自己的模型,并根据需要使用第三方软件包来解决自己的问题。因此还有其他并发模型供用户选择,其中包括actix软件包中实现为程序库的actor模型,rayon软件包实现的工作窃取(work stealing)并发模型。还包括crossbeam软件包实现的模型,它们允许并发线程从其父堆栈帧上共享数据,并保证在父堆栈被释放之前返回。

Rust内置了两种流行的并发模型:通过同步共享数据和通过消息传递共享数据。