标签: c linux posix semaphore
在C编程语言中,为什么我们需要一个特殊的sem_t类型来定义信号量?这可能不是一个整数吗?sem_t是如何定义的?函数sem_post和sem_wait是如何实现的? 编辑:像GNU C库这样的示例实现将非常棒。
答案 0 :(得分:3)
信号量是操作系统内核管理对象,因此sem_t将是特定于操作系统的,因为信号/等待调用也必须调用操作系统内核。
通常,信号量由单位计数和任何等待线程的队列实现。