在类中,我们必须使用信号量来完成线程的工作。
sem_init 的原型(和头文件)如下:
int sem_init(sem_t *sem, int pshared, 无符号 int 值);
但我不明白 value 变量的用途。据 opengroup.org 报道:
value 是设置信号量的初始值
“价值是一个价值......”这有什么帮助,它有什么用?
信号量值表示可在线程之间共享的公共资源的数量。如果该值大于0,则调用sem_wait的线程不需要等待。它只是将值减 1 并继续访问公共资源。 sem_post 会将资源添加回池中。因此它会将值增加 1。如果该值是 0,那么我们将等到有人完成 sem_post。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)