在fork()中,當創建一個子進程時,通常會等待子進程完成,所以我想知道如果爲了完成任務而不得不等待空閒,本身?我試着閱讀一些關於它的東西,但相反它對我來說更困惑Linux叉子的用途?
3
A
回答
5
你很困惑:父母可能會「等待」孩子,但並不意味着它在等待之前什麼都不做。家長做它的事情,然後打電話等待。如果孩子已經完成,等待立即返回,否則父母可能會閒置一段時間(即不能被安排由操作系統執行),直到孩子實際完成。
一個例子:綠色的父母用黃色分出孩子。孩子可能之前或之父等待後完成:
某些情況下,要求家長束手無策,例如它會產生許多工作進程,然後等待它們全部完成,從而只是作爲一個管理程序...
+0
哇該方案使其真正清楚,感謝您付出的時間。所以從它我認爲,叉使得它允許多處理被允許並且一系列處理在比正常情況下更少的時間內被執行。 – Rage91
+0
@ Rage91這是主意。如果你有1個CPU,那麼父進程和子進程將交替地獲得幾毫秒的處理器時間;內核負責調度它(調度本身本身需要幾微秒)。在具有多個處理器的機器中,內核*可能*(實際上*應該*)在第二個CPU上運行子進程,並且真正並行地執行並行工作,因此更快, –
相關問題
- 1. Linux叉:pid重用
- 2. 交叉加入有什麼用途?
- 3. linux - LISTER shell變量的用途
- 4. LINUX叉環功能
- 5. 信號+叉在linux
- 6. Linux中的工藝叉
- 7. 交叉編譯源到Linux
- 8. Qt Windows + Linux交叉編譯
- 9. Linux交叉編譯庫
- 10. 交叉編譯Linux主機
- 11. 用waitpid使用叉子
- 12. 使用cygwin交叉編譯到arm-linux
- 13. 原子讀取的用途是什麼
- 14. 訪客模式的用途與例子
- 15. linux內核分叉孩子返回狀態
- 16. Linux:當父母退出時退出分叉子進程
- 17. 用叉子搜索C
- 18. 用叉子填充數組()
- 19. Bash分叉子
- 20. 叉子執行
- 21. qt5.4在Linux上的windows交叉編譯
- 22. 的Linux叉():資源暫時unavavailable
- 23. 交叉編譯爲ARM-Linux的
- 24. 交叉編譯Raspberry Pi的Linux內核
- 25. 如何交叉編譯Linux的PPC
- 26. 如何用電子分叉子進程
- 27. 創建3個孩子用叉子
- 28. Linux中/ dev/kmem char設備的真實用途是什麼?
- 29. Linux內核中UD2操作碼的用途是什麼?
- 30. 特殊用途的Linux一起find命令拉鍊
它是您創建的單獨進程 - 而不僅僅是一個線程。這就像開始一個新的程序。如果我們只用一個進程來生活,那麼我們又回到了80年代早期或者基本的微控制器 –
首先閱讀[Fork(系統調用)](http://en.wikipedia.org/wiki/Fork_ %28system_call%29)然後[高級Linux編程](http://advancedlinuxprogramming.com/) –