linux 多线程初级有关问题

linux 多线程初级有关问题

linux 多线程初级问题
/* example.c*/
#include <stdio.h>
#include <pthread.h>
void thread(void)
{
int i;
for(i=0;i<3;i++)
printf("This is a pthread.n");
}
int main(void)
{
pthread_t id;
int i,ret;
ret=pthread_create(&id,NULL,(void *) thread,NULL);
if(ret!=0){
printf ("Create pthread error!n");
exit (1);
}
for(i=0;i<3;i++)
printf("This is the main process.n");
pthread_join(id,NULL);
return (0);
}
这里说有2线程,是否是指1,pthread_create的一线程 2,main()一线程,为什么main()也算一线程
pthread_join的意思是否是指,在main要等 pthread_create 的线程结束了,main才结束?


main是主线程


1. 你要运行这个example进入main(),必然有一线程,因此main()当然算一线程。
2. 是


不是抢cpu是加入调度队列:)


一般来说线程是最小的调度单元。
所以进程里面最少有一个线程。

linux 多线程初级有关问题

相关文章:

你感兴趣的文章:

标签云: