我玩弄pthreads
,現在在我看來,當我打電話從先前與pthread_create
催生了一個線程pthread_create
,新pthread
堆棧會分配到堆棧的父親線程。在主線程中,這不會成爲問題,因爲主線程的堆棧仍然可以增長,因爲MMU將在需要時分配和映射新內存,但pthread
有固定的堆棧大小。所以當我從pthread創建一個pthread時,我必須確保父pthread的stacksize(和guardsize)足夠大以容納子pthread的堆棧(加上guardpages)。
這個假設是否正確?我一直無法找到關於此的任何文檔。遞歸併行線程產卵 - 堆棧位置
3
A
回答
3
使用pthread_create()
創建的父線程可以使用pthread_create()
創建另一個子線程。
如果孩子的堆棧會存在父母的堆棧中,那麼只要父母結束,孩子的堆棧就會失效,並且孩子無法繼續活動。
後者並非如此。
從這個人可以得出結論,孩子的堆棧確實是而不是住在父母的堆棧上。
+0
你是對的。經過一些更多的測試後,我可以得出結論,我的假設是不正確的。 thx的答案 – user2950911
相關問題
- 1. openCL堆棧位置(遞歸)
- 2. 過程遞歸和堆棧
- 3. 遞歸Java - 堆棧
- 4. C++遞歸堆棧
- 5. 線程共享堆棧位置?
- 6. 合併排序遞歸調用堆棧
- 7. 尾遞歸:堆棧溢出
- 8. 遞歸堆棧大小?
- 9. 遞歸反轉堆棧
- 10. 尾遞歸堆棧溢出
- 11. 遞歸:使用堆棧
- 12. 遞歸結果堆棧
- 13. Haskell遞歸堆棧溢出
- 14. 遞歸堆棧大小
- 15. 堆棧遞歸程序問題
- 16. 退出產卵線程
- 17. 產卵線程時死鎖?
- 18. Java產卵幽靈線程
- 19. 非遞歸PostOrder使用並行堆棧的二叉樹遍歷
- 20. 線程堆和堆棧
- 21. 堆棧內存位置
- 22. 配置boost ::線程堆棧大小
- 23. Lisp堆棧溢出遞歸函數
- 24. 通過遞歸導致堆棧溢出
- 25. cuda中的遞歸/堆棧和隊列
- 26. 遞歸函數中的堆棧溢出
- 27. 計劃和調用堆棧遞歸
- 28. 堆棧上的遞歸函數
- 29. 遞歸系統堆棧的狀態
- 30. 遞歸系統堆棧分配
_''now it seems to me'_你如何認同這樣的觀察?什麼會導致你這樣的假設? –
你正在離開基地。 –