English 中文(简体)
在儿童过程中建立校对[闭门]
原标题:creating thread inside child process [closed]
#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);
}

what is the value of child and parent?? will the child and the thread created by it share the data? so output will be 5 and 0?

问题回答

儿童及其所创造的read子能否分享数据?

页: 1 如果父母记忆犹新,可以认为儿童进程是a 。 因此,父母对子女做出的任何改变都不见。

因此,产出为5和0。

是:儿童印刷5种,父母印刷0种(不一定按此顺序排列)。

情况是:

  • the child process is created by duplicating the memory space of the parent. It will see the same data as the parent, but it s only a copy, so they cannot interfere with eachother. Any subsequent changes done by the child process (or any of its threads!) will only be visible to itself.
  • the thread spawned by the child shares the memory space with the main thread of the child process and, again, sees a copy of the values in the parent process.

因此,由于在儿童体内所分配的胎面值只有儿童体内可见,而不是在母体体体内,结果为5和0。





相关问题
Fastest method for running a binary search on a file in C?

For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

Encoding, decoding an integer to a char array

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...

热门标签