[英]How can I Increment a POSIX sem_t semaphore by more than 1?
我可以让sem_t(信号量)对象的值大于1吗? 由于sem_post仅增加1。是否有sem_set?
是的,sem_t的值可以大于1。您可以使用sem_init
将信号量初始化为任意值。 引用此链接 :
要初始化信号量,请使用sem_init():
int sem_init(sem_t *sem, int pshared, unsigned int value);
- sem指向要初始化的信号量对象
- pshared是一个标志,指示是否应与fork()处理的进程共享信号量。 LinuxThreads当前不支持共享信号量
- value是将信号量设置为的初始值
使用示例:
sem_init(&sem_name, 0, 10);
我不知道任何可以将sem_t增加任意值的函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.