这两个名词只有一字之差,所以有时候我们会很容易联想到这两个东西是不是一个东西,然而他们却是完全不同的两个概念。今天在复习时,看到这两个概念时,发现自己已经将这两个概念混为一谈了……

  •  信号:是由用户、系统或者进程发送给目标进程的信息,以通知目标进程某个状态的改变或系统异常。
  •  信号量:信号量是一个特殊的变量,它的本质是计数器,信号量里面记录了临界资源的数目,有多少数目,信号量的值就为多少,进程对其访问都是原子操作(pv操作,p:占用资源,v:释放资源)。它的作用就是,调协进程对共享资源的访问,让一个临界区同一时间只有一个进程在访问它。

 
所以它们两的区别也就显而易见了,信号是通知进程产生了某个事件,信号量是用来同步进程的(用来调协进程对共享资源的访问的)
 

更多推荐

Linux系统编程————信号与信号量的区别