1
#include<pthread.h>
#include<stdio.h>
int value=0;
void *runner(void *param);
int main(int argc,char *argv[])
{
int pid;
pthread_t tid;
pthread_attr_t attr;
pid=fork();
if(pid==0){
pthread_attr_init(&attr);
pthread_create(&tid,&attr,runner,NULL);
pthread_join(tid,NULL);
printf("CHILD VALUE=%d",value);
}
else if(pid>0){
wait(NULL);
printf("PARENT VALUE=%d",value);
}
}
void *runner(void *param){
value=5;
pthread_exit(0);
}
孩子和父母的價值是什麼? 孩子和它創建的線程會共享數據嗎?所以輸出將是5和0?在子進程內創建線程
會發生什麼它? –
5爲孩子,0爲父母。 fork()創建一個新進程,並因此給你空間隔離。 –
你試過了嗎? –