以下为看视频笔记..........
1. 例子说明互斥量
我们来看一个生活中的例子:现在大多银行ATM机都有一个特制的铁门。需要使用ATM的用户都需要在门前排队,进入铁门]使用ATM机的用户进入后会在里面将铁门锁住,以保障自身安全,这个时候,在门外排队的用户无法使用.ATM机;
当之前锁住ATM铁门的用户办理完业务,打开门以后,其他在外排队的用户才可以进入铁门使用ATM,这位进入铁门的用户也会和前一个用户一样,将门锁住,保障自身的安全。
例子中ATM机就相当于系统中的共享资源,需要使用ATM的用户相当于系统中的线程,而铁门,就起到了互斥量的作用。
2. 互斥量工作机制
互斥量 (互斥锁)是用于线程间互斥访问的IPC对象,它是一种特殊的 二值性信号量。当某个线程访问系统中的共享资源时,通过引入互斥量机制,可以保证其他线程无法取得对此共享资源的访问权。
互斥量只有两种状态: LOCKED和UNLOCKED, 分别代表加锁和开锁的两种情况。当有线程持有它时,互斥量处于闭锁状态,由这个线程获得它的所有权。相反,当这个线程释放它时,将对互斥量进行开锁,失去对它的所有权。当一个线程持有互斥量时,其他线程将不能够对它进行开锁或持有它。持有该互斥量的线程也能够再次获得这个“锁”(递归持有)而不被挂起
3. 互斥量控制块
在RT—Thread中,互斥量控制块是操作系统用于管理互斥量的一个数据结构。