这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 软件与操作系统 » 深入理解fork的特性

共3条 1/1 1 跳转至

深入理解fork的特性

专家
2016-01-26 17:54:53     打赏

    在之前的小文中,我们提到了I使用fork()函数创建子进程的方法,那么,fork()到底有什么特性呢?下面就来详细的说明。

    fork()函数创建的子进程和父进程之间有着千丝万缕的联系,从宏观上来说,是代码段的复制和数据段的复制。复制的代码段和数据段是纯粹的复制,两者之间不会有影响,也就是子进程和父进程分别运行自己的代码和使用自己的数据段,不会产生影响。

  具体程序如下:

#include<unistd.h>
#include<stdio.h>

int main()
{
  pid_t pid;
  int count=0;
  pid = fork();
  count++;
  printf("cout=%d\n",count);

}

 运行之后,分别打印出两个count的数值,分别为1,运行结果如下:

mjl@mjl-machine:~/memory_exchange/fork_vfork$ ./fork 
cout=1
mjl@mjl-machine:~/memory_exchange/fork_vfork$ cout=1



专家
2016-01-26 18:01:03     打赏
2楼
还有一个特性是进程创建函数fork()创建的子进程运行优先级不确定,在一个平台中运行的结果确定,但是更换之后,结果就会不大相同。

院士
2016-01-26 23:32:25     打赏
3楼

呀,楼主玩起来多线程了~~



共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]