C语言多线程-读写公共数据缓冲区

来源:互联网 发布:php打表格 编辑:程序博客网 时间:2024/06/08 07:23


#include <stdio.h>#include <sys/types.h>#include <unistd.h>#include <stdlib.h>#include <pthread.h>#include <string.h>char buffer[128];int has_data=0;void read_buf(void){sleep(1);if(has_data==1){printf("the data is:\n");printf("%s\n",buffer);}//pthread_exit(NULL);}void write_buf(void ){do{if(has_data==0){memset(buffer,'\0',128);printf("input data:");scanf("%s",buffer);}sleep(1);}while(strcmp(buffer,"exit")!=0);//pthread_exit(NULL);}int main(int argc ,char **argv){pthread_t id1,id2;int ret1,ret2;ret1=pthread_create(&id1,NULL,(void *)write_buf,NULL);if(ret1!=0){printf("create error\n");exit(1);}ret2=pthread_create(&id2,NULL,(void *)read_buf,NULL);if(ret2!=0){printf("create error\n");exit(1);}pthread_join(id1,NULL);pthread_join(id2,NULL);}


原创粉丝点击