嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 10 元微信扫码支付:10 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
用整型信号量实现生产者消费者问题
//主函数
int main()
{
pthread_t threadPool[producerNum consumerNum];//创建线程池
int i;
for(i = 0; i < producerNum; i ){
pthread_t temp;//创建一个生产者线程
if(pthread_create(&temp, NULL, producer, NULL) == -1){
printf("ERROR: fail to create producer%d\n", i);
exit(1);
}
threadPool[i] = temp;//将创建的生产者线程放入线程池
}//创建生产者进程放入线程池
for(i = 0; i < consumerNum; i ){
pthread_t temp;//创建一个消费者线程
if(pthread_create(&temp, NULL, consumer, NULL) == -1){
printf("ERROR: fail to create consumer%d\n", i);
exit(1);
}
threadPool[i producerNum] = temp;//将创建的消费者线程放入线程池
}//创建消费者进程放入线程池
void * result;
for(i = 0; i < producerNum consumerNum; i ){
if(pthread_join(threadPool[i], &result) == -1){
printf("ERROR: fail to recollect\n");
exit(1);
}
}//运行线程池
return 0;
}