#include
#include
#include
#include
#include
#include
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);
}