#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
int count = 0; //总循坏的次数
void *thread_func(void) //子线程
{
int child = 1; // 子线程的循坏次数
while(1)
{
if( count == 300 )
{
break;
}
if(child <= 3 )
{
printf("child = %d\n",child);
child++;
count++;
}
else
{
child = 1 ;
sleep(3);
}
}
pthread_exit("Thank you!\n"); //结束子线程
}
int main()
{
int ret;
int main = 1; //工作线程的循坏次数
pthread_t a_thread;
void * thread_result;
ret = pthread_create(&a_thread,NULL,(void*)thread_func,NULL); //创建子线程
if(ret != 0 )
{
printf("create fail!\n");
exit(-1);
}
sleep(1);
while(1)
{
if(count == 300 )
{
break;
}
if(main <= 6 )
{
printf("main = %d\n",main);
main++;
count++;
}
else
{
main = 1;
sleep(3);
}
}
ret = pthread_join(a_thread,&thread_result); //等待子线程结束
if(ret != 0)
{
printf("pthread join fail!\n");
exit(-1);
}
return 0;
}