Rust 并发

本文深入介绍了Rust编程语言中的并发概念,包括程序执行模型、并发和并行的区别、线程安全、用户空间线程、并发的缺陷、Rust中的线程基础和线程安全。文章详细讨论了Rust如何通过同步共享数据和消息传递实现并发,提到了Mutex、Arc、RwLock以及Actor模型等并发工具的使用。
摘要由CSDN通过智能技术生成

程序执行模型。
并发及其缺陷。
作为并发执行单元的线程。
Rust如何提供线程安全性。
Rust中的并发基础知识。
其他用于处理并发的程序库。

程序执行模型

即使应用程序在后台连接网络,桌面应用程序仍然可以继续正常工作。
某个游戏程序同时更新数千个实体的状态,可在后台播放音乐并保持一致的帧速率。
一个科学的、计算量庞大的程序会分割计算过程,以充分利用计算机硬件中的所有内核。
Web服务器一次处理多个请求以最大化吞吐量。

并发

程序同时管理多个事务从而让人以为它们是同时发生的能力被称为并发,这种程序被称为并发程序。
并行和并发
并发和构建同时管理多个事务的程序有关,而并行是指将该程序交给多个内核处理,以增加它在一定时间内完成的工作量。

并发方法
Processes:在这种方法中,我们可以通过生成自己的独立副本来运行程序的不同部分。在Linux上,这可以通过调用fork系统来实现。要向生成的进程传递任何数据,可以使用各种进程间通信(Inter Process Communica-tion,IPC)工具,例如管道和FIFO。
Threads:底层的进程只是线程,具体来说就是主线程。进程可以启动或生成一个甚至多个线程。线程是最小的可调度执行单元。每个进程都是以一个主线程开始的。除此之外,它还可以使用操作系统提供的API生成其他线程。为了允许程序员使用线程,大多数程序语言都在其标准库中附带了线程API。与进程相比,它们是轻量级的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值