第二章 进程与线程 十五、互斥锁

目录

一、定义

二、特性

1、优点:

2、缺点:


一、定义

  1. 解决临界区最简单的工具就是互斥锁( mutex lock)。
  2. 一个进程在进入临界区时应获得锁;在退出临界区时释放锁。函数 acquire()获得锁,而函数release()释放锁。
  3. acquire()或release()的执行必须是原子操作,因此互斥锁通常采用硬件机制来实现。
  4. 互斥锁的主要缺点是忙等待,当有一个进程在临界区中,任何其他进程在进入临界区时必须连续循环调用acquire()。
  5. 当多个进程共享同一CPU时,就浪费了CPU周期。
  6. 因此,互斥锁通常用于多处理器系统,一个线程可以在一个处理器上等待,不影响其他线程的执行。
  7. 需要连续循环忙等的互斥锁,都可称为自旋锁( spin lock),如TSL指令、swap指令、单标志法

二、特性

需忙等,进程时间片用完才下处理机,违反“让权等待”

1、优点:

等待期间不用切换进程上下文,多处理器系统中,若上锁的时间短,则等待代价很低常用于多处理器系统,一个核忙等,其他核照常工作,并快速释放临界区

2、缺点:

不太适用于单处理机系统,忙等的过程中不可能解锁
 

你可能感兴趣的:(操作系统学习,java,开发语言)