2012-03-05 63 views
1

我正在学习fork()的基础知识。我被要求运行的一个程序有几个功能需要运行1000次。然后再一次,除了在分叉的过程中,大概是因为它更快。为什么在一个简单的程序中使用fork?

我的问题是为什么在分叉过程中运行简单函数(即创建数组,链接列表和执行系统调用)会更快,因为叉没有简单地创建原始程序的完整副本?

回答

3

一般没有理由的父母到餐桌的任何一个孩子做这种工作,但如果父母叉多个孩子,那么这项工作可以在多个处理器或工作的多个单位分布可以至少要安排好使用一个处理器,这是分叉的孩子们需要等待I/O或者长时间运行的系统调用。

时下的线程更常用于这类事情,因为线程比新进程使用更少的资源 - 但它仍然是一个很好的学习练习。

相关问题