居然是一样的,而值可以不一样...明天问问。
fork()函数通过系统调用创建一个与原来进程(父进程)几乎完全相同的进程(子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”,这意味着父子进程间不共享这些存储空间。linux将复制父进程的地址空间内容给子进程,因此,子进程有了独立的地址空间。),也就是这两个进程做完全相同的事。
lei133.cc
完全没变啊,lei163.cc
这是最终答案:创建副本,系统开销大。
fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性,但是二者之间的通讯需要通过专门的通讯机制,如:PIPE,FIFO,IPC机制等。通过fork创建的子进程系统开销很大,需要将每种资源(数据空间,堆和栈)都复制一个副本。这些系统开销并不是所有的情况下都是必须的。
网友评论