基本信息
源码名称:生产者消费者问题.cpp(整型信号量实现)
源码大小:2.49KB
文件格式:.cpp
开发语言:C/C++
更新时间:2021-01-17
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 10 元 
   源码介绍

用整型信号量实现生产者消费者问题

//主函数
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;
}