#include<pthread.h>
#include<termios.h>
#include<unistd.h>
int flag;
void* thread(void *arg)
{
int a,b,res;
a=0;
b=1;
res=0;
while (1)
{
res=a+b;
a=b;
b=res;
sleep(1);
printf("%d\n",res);
if (flag==1) break;
}
return NULL;
}
void* consumer(void* data)
{
int d;
struct termios oldt,newt;
tcgetattr(STDIN_FILENO,&oldt);
newt=oldt;
newt.c_lflag &= ~ (ICANON | ECHO);
tcsetattr(STDIN_FILENO,TCSANOW,&newt);
getchar();
tcsetattr(STDIN_FILENO,TCSANOW,&oldt);
flag=1;
return NULL;
}
int main(int argc,char *argv[])
{
pthread_t th_a,th_b;
int arg=0;
int *thread_ret=NULL;
pthread_create(&th_a,NULL,thread,&arg);
pthread_create(&th_b,NULL,consumer,&arg);
pthread_join(th_a,NULL);
pthread_join(th_b,NULL);
return 0;
}
2021-10-30
最新推荐文章于 2025-07-28 18:50:30 发布