繁体   English   中英

如何将POSIX sem_t信号量增加1以上?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM