发布网友 发布时间:2022-04-22 09:46
共5个回答
热心网友 时间:2022-05-19 13:47
你用了pthread库,在链接的时候要加上
gcc
-lpthread
1.c
-o
1
即可
子进程(对应pid==0语句)调用pthread接口创建线程,在县城内将value赋值5,然后打印
child:
value=%d\n
此时value
=
5
父进程
(对应
pid
>
0
语句),等待子进程执行完成后(wait语句),打印parent:
value=%d\n
,此时value
=
0
对于你补充问题的回答:
线程是在子进程里创建的,它只改变了子进程的value
(子进程和父进程的value处在不同的地址空间,互相没有关系,而子进程和它所创建的线程是在同一地址空间,所以线程可以改变子进程的value),
父进程没有创建线程,因此它的值不会被改变。
热心网友 时间:2022-05-19 13:48
pgrep -f filename
热心网友 时间:2022-05-19 13:48
pgrep filename
热心网友 时间:2022-05-19 13:49
getpid()就可以阿
热心网友 时间:2022-05-19 13:49
ps -A