2012-03-05 27 views
1

我正在學習fork()的基礎知識。我被要求運行的一個程序有幾個功能需要運行1000次。然後再一次,除了在分叉的過程中,大概是因爲它更快。爲什麼在一個簡單的程序中使用fork?

我的問題是爲什麼在分叉過程中運行簡單函數(即創建數組,鏈接列表和執行系統調用)會更快,因爲叉沒有簡單地創建原始程序的完整副本?

回答

3

一般沒有理由的父母到餐桌的任何一個孩子做這種工作,但如果父母叉多個孩子,那麼這項工作可以在多個處理器或工作的多個單位分佈可以至少要安排好使用一個處理器,這是分叉的孩子們需要等待I/O或者長時間運行的系統調用。

時下的線程更常用於這類事情,因爲線程比新進程使用更少的資源 - 但它仍然是一個很好的學習練習。

相關問題