fork()函數可用於複製多線程進程。如果是這樣,所有的線程都將完全相同,如果不是,爲什麼不呢。如果複製不能通過fork來完成,有沒有其他函數可以爲我做?多線程叉
Q
多線程叉
14
A
回答
13
分叉後,子中只有一個線程正在運行。這是POSIX標準要求。請參閱the top answer至問題fork and existing threads ?。
13
不,孩子只會有一個線程。分叉線程不是微不足道的。 (請參閱此文章Threads and fork(): think twice before mixing them以獲得良好的概述)。
我不知道克隆進程及其所有線程的任何方式,我認爲這在Linux上是不可能的。
+2
+1,非常翔實的博客文章。 – DarkDust 2011-05-19 10:11:29
-1
號
叉創建了自己的線程(S),拷貝文件描述符和虛擬內存的新進程。
子進程不會與他的父親共享相同的內存。所以這是絕對不一樣的。
相關問題
- 1. 交叉線程問題? C#
- 2. 線程二叉樹問題
- 3. 模型多線程/叉服務器守護程序
- 4. 由線交叉的多邊形
- 5. 使用線程時出現交叉線程錯誤
- 6. 從二叉樹實現二叉樹實現的線程
- 7. 將二叉樹轉換爲雙線程二叉樹?
- 8. 線程在分叉時未被複制?
- 9. 叉和連接功能jdk7線程數
- 10. 檢查/解決交叉線程操作
- 11. 與Java交叉線程函數調用
- 12. 叉與單個核心上的線程
- 13. 叉子和線程有什麼區別?
- 14. JMH分叉,線程和調試
- 15. Perl腳本,使用分叉或線程?
- 16. CMake:FIND_PACKAGE(線程)爲Android交叉編譯
- 17. VB.net BackGroundWorker在DataGridView中交叉線程
- 18. 多線程線程控制
- 19. Java線程(多線程)
- 20. 單線程C多線程#
- 21. 多線程vs單線程
- 22. 多線程 - 等待線程
- 23. 關於多線程的java多線程
- 24. java中有多線程的多線程
- 25. 多線程DLL(/ MD)vs多線程(/ MT)
- 26. java編程和java單線程多線程問題(單線程與多線程)
- 27. 重構多線程類爲單線程+多線程
- 28. 多線程和多
- 29. Python的多功能多線程與線程。線程? (可變線程數)
- 30. 多線程程序
你見過[這個問題](http://stackoverflow.com/questions/1235516/fork-in-multi-threaded-program)?或[這一個](http://stackoverflow.com/questions/1073954/fork-and-existing-threads)?基本上只有'fork()'線程在子進程中存在。你想達到什麼目的? – Zecc 2011-05-19 10:17:21
其實我試圖爲可靠執行創建一個複製進程,其中複製進程將通過執行相同的代碼來驗證主進程的輸出。 – MetallicPriest 2011-05-23 13:20:45