/* ************************************************************************
#include <stdio.h>
#include<pthread.h>
#include <unistd.h>
void * thread(void *str)
{
int i;
for(i=0;i<3;i++)
{
sleep(1);
printf("this is the thread : %d\n",i);
}
return NULL;
}
int main(int argc, char *argv[])
{
pthread_t pth;
int i;
int ret = pthread_create(&pth,NULL,thread,(void *)(i));//创建线程
//程序先运行进程,遇到pthread_join等待函数后,倒过来运行线程,
//在运行线程期间也存在等待,但pthread_join函数会等待pth这个id结束。故不会往下执行
//结果为:线程 -> 123 ->进程(尾部for循环)
//pthread_join(pth,NULL);//进程等待
//当注释掉等待函数时,先输出123-》进程线程交替执行,当进程执行为2时,进程结束并退出,线程也随即退出。
printf("123\n");
for(i=0;i<3;i++)
{
sleep(1);//如果没有延时,线程不会执行,进程运行直到结束
printf("this is the main:%d\n",i);
}
return 0;
}
#include <stdio.h>
#include<pthread.h>
#include <unistd.h>
void * thread(void *str)
{
int i;
for(i=0;i<3;i++)
{
sleep(1);
printf("this is the thread : %d\n",i);
}
return NULL;
}
int main(int argc, char *argv[])
{
pthread_t pth;
int i;
int ret = pthread_create(&pth,NULL,thread,(void *)(i));//创建线程
//程序先运行进程,遇到pthread_join等待函数后,倒过来运行线程,
//在运行线程期间也存在等待,但pthread_join函数会等待pth这个id结束。故不会往下执行
//结果为:线程 -> 123 ->进程(尾部for循环)
//pthread_join(pth,NULL);//进程等待
//当注释掉等待函数时,先输出123-》进程线程交替执行,当进程执行为2时,进程结束并退出,线程也随即退出。
printf("123\n");
for(i=0;i<3;i++)
{
sleep(1);//如果没有延时,线程不会执行,进程运行直到结束
printf("this is the main:%d\n",i);
}
return 0;
}