linux系统是怎样创建进程的?以及首次调用新创建进程是,其入口在哪...

发布网友 发布时间:2022-04-23 05:27

我来回答

2个回答

热心网友 时间:2022-06-05 00:07

展开1全部你用了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-06-05 01:25

linux
系统创建进程都是用
fork()
系统调用创建子进程

fork()
系统调用创建的新进程被称为子进程。该函数被调用一次,但返回两次。如果
fork()进程调用成功,两次返回的区别是子进程的返回值是0,而父进程的返回值则是新子进程的进程号

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com