pthread semaphore.h中信号量的API等价物

时间:2015-03-25 00:37:33

标签: c pthreads semaphore producer-consumer

这个问题与我正在处理的生产者/消费者问题的解决方案有关。我们被要求使用pthreads来解决问题。为了为有界缓冲区创建空的和完整的信号量,我使用了semaphore.h,但我被告知有一种方法可以在没有semaphore.h的情况下完成这个。

是否有使用pthread API创建信号量的标准方法?也就是说,仅使用pthreads有一个简单的等价物:

sem_init(&full, 0, 0);
sem_init(&empty, 0, BUFFER_SIZE);
sem_wait(&empty);
sem_post(&full);
etc.

感谢您提供有关此主题的任何信息。

1 个答案:

答案 0 :(得分:0)

<semaphore.h>函数(sem_init() / sem_open()等) pthreads信号量API。

也许您被引导使用条件变量而不是sempahores来解决这个问题?