我有一個應用程序有幾個不同的線程。然後我用fork()分叉,但發現子進程必須重新創建這些線程。克隆過程中可以複製線程嗎?謝謝!線程在分叉時未被複制?
回答
如果您使用的是Unix,那麼在C語言中,fork()應該創建所有新線程,如果在線程創建後分叉的話,這會導致重複使用資源,因此可能是問題。
http://gauss.ececs.uc.edu/Users/Franco/ForksThreads/forks.html
這篇文章在多線程應用程序中使用叉問題的會談,他們引用網頁,該網頁下面: http://www.viraj.org/b2evolution/blogs/index.php/2007/02/10/threads_and_fork_a_bad_idea
http://www.lsgalilei.org/glibc-doc/Threads-and-Fork.html
這個問題應該有你需要的答案,順便說一句: fork and existing threads?
非常感謝!我想我有你的答案! – xis 2009-11-06 17:23:22
如果您有實際的答案,請將其作爲問題的更新發布,以便如果其他人遇到相同類型的問題,可以幫助他們。 – 2009-11-06 19:08:55
- 1. DataRow.RowError在使用DataTable.Load時未被複制
- 2. C#交叉線程事件未被觸發
- 3. gSOAP多線程複製分段錯誤
- 4. 多線程叉
- 5. JMH分叉,線程和調試
- 6. Perl腳本,使用分叉或線程?
- 7. 線部分未繪製
- 8. ActiveRecord在分叉/線程應用程序中運行時無法重新連接?
- 9. 無法在分叉進程中設置OpenMP線程關聯
- 10. 分叉進程
- 11. 限制分叉進程的數量
- 12. 使用線程時出現交叉線程錯誤
- 13. installation.log未被複制到安裝目錄
- 14. 資源似乎未被複制到iPhone
- 15. 用戶被複制時調用回覆
- 16. Selenium Grid - 遠程控制始終未被集線器註冊
- 17. 複製二叉樹爲了
- 18. 線程未被執行後的代碼
- 19. IllegalMonitorStateException:對象未被線程鎖定
- 20. Java線程在完成時被刪除
- 21. 從程序分叉時提升dataflow_exception
- 22. 分叉子程序所用的時間
- 23. .NET程序集未被複制到bin文件夾中
- 24. 交叉線程問題? C#
- 25. 線程二叉樹問題
- 26. EHCache JMS複製限制線程數量?
- 27. VB.net BackGroundWorker在DataGridView中交叉線程
- 28. 被複制
- 29. ttk.Progressbar被複制
- 30. 交叉重複紅線css外部div
你使用什麼語言?這可能與答案有關。 – 2009-11-06 02:38:47
我猜C,但它可能有助於知道哪個操作系統,並且這些pthreads或什麼? – 2009-11-06 02:39:37
哦,我也猜測Linux是操作系統。 :) – 2009-11-06 04:05:23