日期:2014-05-16  浏览次数:20672 次

为什么linux下有两种semaphore?
本帖最后由 u011473808 于 2013-07-22 17:02:24 编辑
<semaphore.h>---------------------   信号量
<sys/sem.h>-------也是信号量。

这两个都是信号量,类型和用法还不太一样。到底哪个信号量是更标准的那种呢?
linux下面为什么要搞两套功能相同但又互不兼容的东西?

而且我还发现,消息队列也有两套东西:
<mqueue.h>    ----------------------   消息队列
<sys/msg.h>这个也是

非常的不解。

------解决方案--------------------
sys/下面的是SysV标准的,已经很老了,要用POSIX标准的<semaphore>替代。

3种系统标准IPC: 消息队列,共享内存,信号量。POSIX和SysV标准分别有自己的实现。