使用多线程实现生产者和消费者的机制
来源:互联网 发布:西安交通大学网络课程 编辑:程序博客网 时间:2024/05/17 01:14
#include <stdio.h>#include <string.h>#include <pthread.h>#include <stdlib.h>#include <semaphore.h>#include <fcntl.h>#include <unistd.h>#include <sys/ipc.h>#define MAX_SIZE 1024sem_t sem1,sem2;char buff[MAX_SIZE];void producer(void *arg){ do { sem_wait(&sem1); printf("Producer enter some data:");scanf("%s",buff);sem_post(&sem2); }while(strncmp(buff,"quit",4) != 0);}void customer(void *arg){ do { sem_wait(&sem2); printf("Customer read is:%s\n",buff);sem_post(&sem1); }while(strncmp(buff,"quit",4) != 0);}int main(){ pthread_t id1,id2; sem_init(&sem1,0,1); sem_init(&sem2,0,0); if(pthread_create(&id1,NULL,(void *)producer,NULL) != 0) { printf("init producer error!\n");return -1; } if(pthread_create(&id2,NULL,(void *)customer,NULL) != 0) { printf("init customer error!\n");return -1; } pthread_join(id1,NULL); pthread_join(id2,NULL); return 0;}
0 0
- 使用多线程实现生产者和消费者的机制
- Linux下的多线程机制--生产者和消费者实例
- 用synchonized实现多线程的消费者和生产者的模拟
- Java多线程-Lock锁的使用,以及生产者和消费者的实现
- 关于Java多线程实现生产者和消费者的问题
- 用共享内存实现生产者和消费者的机制
- 多线程---使用ManualResetEvent来控制线程间的同步(实现了消费者和生产者模式)
- Linux多线程,生产者消费者算法和条件变量的使用
- 使用java多线程实现生产者消费者
- java使用多线程实现生产者消费者问题
- 生产者-消费者多线程实现
- 多线程实现生产者消费者
- 多线程实现生产者消费者
- 多线程实现生产者消费者
- 生产者和消费者多线程同步,C++实现
- 线程实现消费者和生产者机制
- 多线程生产者和消费者
- 多线程,生产者和消费者
- javascript 作用域、this详解 待更新
- 我的第一堂苏嵌课
- Centos7手动部署Openstack Mitaka版安装配置--(二)安装数据库
- 线程状态监听
- JDK中的动态代理
- 使用多线程实现生产者和消费者的机制
- POJ 3070 Fibonacci 快速矩阵幂
- mongoVUE 连接MongoDB3.X不能正常显示collection的问题
- 第四章 面向对象基础
- 一个简约的Android相册(支持多选)
- Unity 接口注入
- 关于Debug版正常运行,release版运行崩溃的问题
- Java图形重绘
- ubuntu升级