当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust Arc.get_mut用法及代码示例


本文简要介绍rust语言中 std::sync::Arc.get_mut 的用法。

用法

pub fn get_mut(this: &mut Arc<T>) -> Option<&mut T>

如果没有其他 Arc Weak 指向同一分配的指针,则返回对给定 Arc 的可变引用。

否则返回 None ,因为改变共享值是不安全的。

另请参阅 make_mut ,当有其他 Arc 指针时,它将 clone 内部值。

例子

use std::sync::Arc;

let mut x = Arc::new(3);
*Arc::get_mut(&mut x).unwrap() = 4;
assert_eq!(*x, 4);

let _y = Arc::clone(&x);
assert!(Arc::get_mut(&mut x).is_none());

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::sync::Arc.get_mut。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。