打开信号量而不改变它的值
Open semaphore without changing its value
用sem_open
打开一个信号量也会将其初始化为任何给定值,有没有办法打开一个被另一个线程使用的信号量而不改变它的值?
你说的不是真的。使用 sem_open
打开现有信号量不会更改其值。
所以,为了回答你的问题,
sem_t *sem = sem_open( name, O_RDWR );
if ( sem == SEM_FAILED ) {
perror( NULL );
exit( EXIT_FAILURE );
}
用sem_open
打开一个信号量也会将其初始化为任何给定值,有没有办法打开一个被另一个线程使用的信号量而不改变它的值?
你说的不是真的。使用 sem_open
打开现有信号量不会更改其值。
所以,为了回答你的问题,
sem_t *sem = sem_open( name, O_RDWR );
if ( sem == SEM_FAILED ) {
perror( NULL );
exit( EXIT_FAILURE );
}