我很好奇存储/使用信号量的最佳方式。
以前,我一直使用存储在共享内存中的信号量(因为无论如何我已经在使用共享内存)作为,sem_t
然后使用sem_init()
,sem_wait()
和来操作信号量。sem_timedwait()
sem_post()
但是今天我正在阅读man
页面并开始查看sem_get()
,sem_ctl()
等...我认为这将是节省声明共享内存的步骤以获取信号量的好方法。当我开始编写代码时,我意识到我找不到从 to 获取的sem_get()
方法sem_t
。
如果我使用shm_get()
我只能手动操作信号量sem_ctl()
吗?这需要大量的开销,这些开销被sem_wait()
,sem_timedwait()
和所掩盖sem_post()
。
sem_t
当你只有一个类型的变量时,有没有办法获得一个类型的变量key_t
?