首页 > 其他 > 详细

临界区和缩

时间:2020-03-23 14:37:58      阅读:53      评论:0      收藏:0      [点我收藏+]

锁机制:

  基本原理:

    1.设置一个标志S:

      表明临界资源,“可有” 还是 “不可用”

    2.进入临界区之前检查标志是否“可用”:

      如为不可用:进程在临界区之外等待

      如为可用:

        访问临界资源

        将标志修改为可用

    3.退出临界区的时候标志修改为可用

 

上锁操作: //通过原语实现

  1.检测锁的状态

  2.如果S为0就回到第一步

  3.如果S=1,则设置为0

    LOCK(S)

    {

      test:if(s==0)

        goto test: //回到测试锁标志

         else  //s==1

          {

            S=0;

          }

     }

 

开锁操作://使用原语来实现

  1.

    把锁状态变成1

    Unlock(S)

    {

     S=1

    }

 

 

使用锁机制来访问临界区:

  1.初始化锁的状态 S=1

  2.进入临界区之前执行上锁LOCK

  3.离开临界区之后执行开锁Unlock操作

临界区和缩

原文:https://www.cnblogs.com/beautiful7/p/12551931.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!