我很好奇存储/使用信号量的最佳方式。
以前,我一直使用存储在共享内存中的信号量(因为无论如何我已经在使用共享内存)作为,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?