/*
*简单的生产者和消费者程序,3个生产者、3个消费者,缓冲区里最多存放10个物品
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <semaphore.h>
#include <string.h>
#define CONSUMER_NUM 3
#define PRODUCER_NUM 3
#define MAXCAPACITY 10
pthread_mutex_t mutex;
pthread_cond_t condCon;
pthread_cond_t condPro;
int g_count = 0;
int proIndex[PRODUCER_NUM];
int conIndex[CONSUMER_NUM];
void *producer_function(void *args);
void *consumer_function(void *args);
int main()
{
pthread_t producer_thread[PRODUCER_NUM];
pthread_t consumer_thread[CONSUMER_NUM];
int res;
int i;
void *thread_result;
pthread_mutex_init(&mutex,NULL);
pthread_cond_init(&condCon,NULL);
pthread_cond_init(&condPro,NULL);
for(i = 0;i < PRODUCER_NUM; ++ i)
{
proIndex[i] = i + 1;
res = pthread_create(&producer_thread[i], NULL, producer_function, (void*)&pro
Linux C实现生产者和消费者
最新推荐文章于 2024-05-20 16:22:53 发布