sem_t的结构和信号量的实现

时间:2013-04-18 13:44:35

标签: c linux posix semaphore

在C编程语言中,为什么我们需要一个特殊的sem_t类型来定义信号量?这可能不是一个整数吗?sem_t是如何定义的?函数sem_post和sem_wait是如何实现的? 编辑:像GNU C库这样的示例实现将非常棒。

1 个答案:

答案 0 :(得分:3)

信号量是操作系统内核管理对象,因此sem_t将是特定于操作系统的,因为信号/等待调用也必须调用操作系统内核。

通常,信号量由单位计数和任何等待线程的队列实现。