如何统计等待命名信号量(named semaphore)的进程数?及相关测试现象疑问
如何统计等待命名信号量(named semaphore)的进程数?及相关测试现象疑问
我之前找了个测试命名信号量的小Demo程序,自己做了点修改——原本是在父进程里打开命名信号量,我改成了让每个子线程单独去打开它。之后我在调用sem_wait()之后执行了sem_getvalue(),接着让线程sleep(1),再调用sem_post(),之后又执行了一次sem_getvalue()。
测试下来发现一个现象:调用sem_wait()之后获取到的信号量值是0,调用sem_post()之后获取到的值又变回了1。
现在我有个疑问:当初始化信号量之后,要怎么统计当前正在等待这个命名信号量的进程数量呢?
备注:内容来源于stack exchange,提问作者Richard Hartman
相关产品推荐
相关产品推荐

