#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()は新しいプロセスを作成するので、スペースを分離できます。 –
試しましたか? –