进程间通信之信号量篇

来源:互联网 发布:好视力眼贴 知乎 编辑:程序博客网 时间:2024/04/29 16:15

在这里我们要区别线程同步通信时的信号量机制。具体它们的接口函数可以查看相关资料,我们这里只看看进程通信的信号量机制。

在编程中,为了防止出现因多个程序同时访问一个共享的资源而引发的问题,我们通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域。

PV 操作

P(sv) 如果sv的直大于0,就给他减1;如果他的直等于0,就挂起该进程的执行;

V(sv) 如果有其他进程因等待sv而被挂起,就让它执行;如果没有进程因等待sv而被挂起,就给他加1;

 

下面来看看一个具体是例程。

 

该例程用两个不同字符的输出来表示进入和离开临界区域。如果程序启动时带有一个参数,他将在进入和退出临界区域时打印字符x;而程序的其他运行实例将在进入和退出临界区域时打印字符o。在任一给定时刻,只能有一个进程可以进入临界区域。

原创粉丝点击