#include<stdio.h>
#include<stdlib.h>
#include<pthread.h>
#include<unistd.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 parent= 1;
pthread_t a_thread;
void * thread_result;
ret = pthread_create(&a_thread,NULL,(void *)thread_func,NULL);
if(ret !=0)
{
printf("create fail error !\n");
exit(-1);
}
sleep(1);
while(1)
{
if(count == 300)
{
break;
}
if(parent <= 6)
{
printf("parent = %d\n",parent);
parent++;
count++;
}
else
{
parent= 1;
sleep(3);
}
}
ret = pthread_join(a_thread,&thread_result);
if(ret != 0)
{
printf("pthread join fail !\n");
exit(-1);
}
return 0;
}
C语言子线程循环 3 次,接着主线程循环 6 次,接着又回到子线程循环 3 次,接着再回到主线程又循环6 次,如此循环50次,试写出代码。
最新推荐文章于 2024-08-02 21:35:20 发布