news 2026/7/4 23:01:39

Rust 的 Arc<Mutex<T>> 用法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Rust 的 Arc<Mutex<T>> 用法

1 含义

  • Arc<Mutex<T>> 让T可以在多线程中被修改。

  • Arc(Atomic Reference Counting):原子引用计数,允许多个线程共享同一份数据的所有权(类似Rc,但线程安全)。

  • Mutex(互斥锁):保证同一时刻只有一个线程能访问内部数据,避免数据竞争。

2 使用

use std::sync::Arc; use tokio::sync::Mutex; //自定义一个Student类型 struct Student{ name:String, age:u32 }; let data:T = Arc::new(Mutex::new( Student{ name:String::from("nick"), age: 17 } )); // 类型 Arc<Mutex<T>> //参数传递时使用克隆 function_a(data.clone()) //函数参数声明 async fun function_a(d:Arc<Mutex<T>>){ //使用时获得锁 let mut safe_d = d.lock().unwrap(); //修改变量 safe_d.age = 100; //或直接修改整体 *safe_d = temp_d; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/4 22:54:44

游戏发布流程商店上架与版本更新

游戏发布流程中的商店上架与版本更新是开发者必须掌握的核心环节&#xff0c;它直接关系到游戏的市场表现和玩家体验。无论是独立团队还是大型厂商&#xff0c;都需要通过规范化的流程确保游戏顺利上线并持续优化。本文将围绕这一主题&#xff0c;从多个角度解析关键步骤&#…

作者头像 李华
网站建设 2026/6/27 7:24:17

软件服务定位器管理化的服务查找获取

软件服务定位器管理化的服务查找获取&#xff1a;现代架构的核心枢纽 在分布式系统和微服务架构盛行的今天&#xff0c;服务的高效查找与动态获取成为开发中的关键挑战。软件服务定位器&#xff08;Service Locator&#xff09;作为一种设计模式&#xff0c;通过集中化管理服务…

作者头像 李华
网站建设 2026/6/27 7:22:01

Spring Boot AOP 拦截链设计模式

Spring Boot AOP 拦截链设计模式&#xff1a;构建灵活可扩展的切面逻辑 在现代Java开发中&#xff0c;Spring Boot的AOP&#xff08;面向切面编程&#xff09;为解耦业务逻辑与横切关注点提供了强大支持。而拦截链设计模式通过责任链的串联机制&#xff0c;进一步提升了AOP的灵…

作者头像 李华
网站建设 2026/6/27 7:19:37

操作系统性能分析:系统调用跟踪与资源监控

操作系统性能分析&#xff1a;系统调用跟踪与资源监控 在现代计算环境中&#xff0c;操作系统的性能直接影响应用程序的响应速度与资源利用率。系统调用跟踪与资源监控是性能分析的核心手段&#xff0c;能够帮助开发者定位瓶颈、优化代码并提升整体效率。无论是服务器集群还是…

作者头像 李华
网站建设 2026/6/27 7:18:05

新一代 YL1621 011A 版本LCD 驱动 IC 重磅升级,便携设备显示方案首选

导语做电动自行车仪表、智能温控面板、家用血压计、NB-IoT 水表的硬件工程师&#xff0c;一定都遇到过两大痛点&#xff1a;电池供电设备续航拉胯、高低温 / 电压波动环境屏幕闪屏、静电死机。 2026 全新迭代 YL1621&#xff08;011A 新版本&#xff09;&#xff0c;对比旧版 0…

作者头像 李华