Linux系统编程(9):POSIX互斥锁

1. 互斥锁的基本概念

在前面的信号量章节,我们也了解过互斥这个概念,就是当不同进程/线程去访问某个临界资源的时候,就需要进行互斥保护, 这种互斥保护可以看做是一种锁机制,就好比当你去上厕所的时候,你会锁住门,不让别人进来。 在Linux系统中的锁机制是一个比较广泛的概念,而且锁的种类很多,包括互斥锁,文件锁,读写锁等等。

其实信号量也是一种锁,可以使用锁的目的是达到互斥的作用,使得共享资源在同一时间内, 只有能有一个进程或者线程对它进行操作。

整个系统拥有很多临界资源,比如某些全局性的文件,硬件接口等, 但整个Linux系统可以完美运行,这无不依赖锁机制,可以说锁机制是Linux整个系统的精髓所在, Linux内核都是围绕着同步在运转,它决定了进程/线程什么时候可以访问这个临界资源,在多进程和多线程编程中, 锁起着极其重要的作用。信号量也可以作为锁使用,但是我们今天要讲解的是POSIX标准中的机制——互斥锁(mutex)。 一些资料中会将互斥锁称为互斥量,它们是一样的。

互斥锁和信号量不同的是,它具有互斥锁所有权、递归访问等特性,常用于实现对临界资源的独占式处理, 在任意时刻互斥锁的状态只有两种,开锁或闭锁。

当互斥锁被线程持有时,该互斥锁处于

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值