Rust 编程视频教程(进阶)——018_1 互斥器介绍

视频地址

头条地址:https://www.ixigua.com/i6775861706447913485
B站地址:https://www.bilibili.com/video/av81202308/

源码地址

github地址:https://github.com/anonymousGiga/learn_rust

讲解内容

1、任何编程语言中的通道都类似于单所有权的方式,即一旦一个值传送到通道中,(发送者)将无法再使用这个值;而共享内存就类似于多所有权,即多个线程可以同时访问相同的内存位置。

2、互斥器
(1)作用:任意时刻,只允许一个线程访问某些数据;
(2)互斥器的使用:使用前需要获取锁;使用后需要解锁数据。

3、Rust中互斥器API:Mutex

use std::sync::Mutex;
fn main() {
    let m = Mutex::new(5);
    {
        let mut num = m.lock().unwrap();
        *num = 6;
    } //离开作用域,Mutex<T>的锁会自动释放
    println!("m = {:?}", m);
}

说明:
(1)Mutex是一个智能指针,更准确的说,lock调用返回一个叫做MutexGuard的智能指针;
(2)内部提供了Drop方法,实现当MutexGuard离开作用域时自动释放锁。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值