第三题(润和面试题):
子线程循环 3 次,接着主线程循环 6 次,接着又回到子线程循环 3 次,接着再回到主线程又循环6 次,
如此循环50次,试写出代码。
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
int count = 0;
void * create(void * arg)
{
int i = 1;
while(count <= 50)
{
while(i <= 3)
{
printf("child!\n");
i++;
count++;
}
i = 1;
sleep(3);
}
pthread_exit("thanks!\n");
}
int main()
{
pthread_t tid;
int error;
void * result;
int i = 1;
error = pthread_create(&tid,NULL,create,NULL);
if(error != 0)
{
printf("create error!\n");
exit(0);
}
while(count <= 50)
{
while(i <= 6)
{
printf("master!\n");
i++;
count++;