生产者-消费者模型
作者:
狗尾巴草败了 | 来源:发表于
2017-08-29 19:17 被阅读0次#include <unistd.h>
#include <pthread.h>
static pthread_mutex_t mtx = PTHREAD_MUTEX_INITIALIZER;
static pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
static int avail = 0;
//producer 一般为子线程
void producer() {
pthread_mutex_lock(&mtx);
avail++;
pthread_mutex_unlock(&mtx);
pthread_cond_signal(&cond);
}
//consunmer 一般为主线程
void consumer() {
while(1) {
pthread_mutex_lock(&mtx);
while(avail == 0) {
pthread_cond_wait(&cond, &mtx);
}
while(avail > 0) {
/* do something */
avail--;
}
pthread_mutex_unlock(&mtx);
}
}
本文标题:生产者-消费者模型
本文链接:https://www.haomeiwen.com/subject/ffdadxtx.html
网友评论