操作系统中进程互斥的方式之一,信号量机制

来源:互联网 发布:vue.js createelement 编辑:程序博客网 时间:2024/05/16 10:25
信号量就是一个资源计数器,对信号量有两个操作来达到互斥,分别是P和V操作。一般情况是这样进行临界访问或互斥访问的:设信号量值为1,当一个进程1运行时,使用资源,进行P操作,即对信号量值减1,也就是资源数少了1个。这是信号量值为0。系统中规定当信号量值为0是,必须等待,知道信号量值不为零才能继续操作。这时如果进程2想要运行,那么也必须进行P操作,但是此时信号量为0,所以无法减1,即不能P操作,也就阻塞。这样就到到了进程1排他访问。当进程1运行结束后,释放资源,进行V操作。资源数重新加1,这是信号量的值变为1.这时进程2发现资源数不为0,信号量能进行P操作了,立即执行P操作。信号量值又变为0.次数进程2咱有资源,排他访问资源。这就是信号量来控制互斥的原理。
0 0
原创粉丝点击