2

我正在用 C/C++ 编写一个服务器端应用程序,它由 1 个主守护进程和几个子进程组成。

我希望子进程非常轻量级,以便可以在没有太多开销的情况下生成/杀死它们(超过操作系统施加的开销)。

我正在构建主守护程序和子应用程序以广泛使用共享库。事实上,主守护进程加载子应用程序所需的所有共享库,并设置所需的(共享)内存结构等。

我的基本假设是,由于主守护进程已经加载了共享库(其中一些是巨大的),子应用程序将能够快速启动并简单地附加到加载的库 - 无需加载共享库,并且因此导致产生的时间稍快 - 这个假设是否正确?

[[添加]]

我正在使用 Ubuntu 10.0.4 LTS

4

1 回答 1

1

您的共享库的代码段将由所有进程共享,对谁加载/生成没有特别限制。但是,这可能需要不同的时间,具体取决于过程中使用了多少符号,因为这些符号将在加载期间解决。

但是,如果您要分叉,则无需做太多事情,因此启动新二进制文件会很快。

于 2012-07-13T12:29:33.483 回答