在 C 编程语言中,为什么我们需要特殊的 sem_t 类型来定义信号量?那不是一个整数吗?sem_t是如何定义的? sem_post 和 sem_wait 函数是如何实现的? 编辑:像 GNU C 库这样的示例实现会很棒。
最佳答案
信号量是操作系统内核管理的对象,因此 sem_t 将是特定于操作系统的,信号/等待调用也是如此,因为它们也必须调用操作系统内核。
通常,信号量是通过单位计数和任何等待线程的队列来实现的。
关于c - sem_t的结构和信号量的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16084684/