个人博客:The Blog Of WaiterXiaoYY 欢迎来互相交流学习。
临界资源
-
各进程采取互斥的方式,实现共享的资源。
-
一次仅允许一个进程使用的资源。
属于临界资源的
硬件:打印机、磁带机;
软件:消息队列、变量、数组、缓冲区。
临界区
每个进程访问临界资源的那段代码称为临界区。
不论是硬件临界资源还是软件临界资源,多个进程必须互斥地对它进行访问。保证诸进程互斥地进入临界区,便可实现诸进程对临界资源的互斥访问。
其他进程在访问某个临界资源之前必须对该临界资源的检查,查看该临界资源是否正在被访问,
如果此刻该临界资源正在被某个进程访问,则本进程不能进入临界区。
- 进入区
在临界区前面一段用于对临界资源进行检查是否正在被某个进程访问的代码称为进入区。
- 退出区
在临界区后面一段用于恢复临界资源成未被访问状态的代码称为退出区。
- 剩余区
除上述进入区、临界区、退出区的其他部分代码称为剩余区。
进程访问临界资源的流程
while(true) {
//进入区
entry section;
//临界区
critical section;
//退出区
exit section;
//剩余区
}