gpt4 book ai didi

c++ - 递归 pthread 生成 - 堆栈位置

转载 作者:太空狗 更新时间:2023-10-29 21:22:25 26 4
gpt4 key购买 nike

我正在玩弄 pthreads ,现在在我看来,当我调用pthread_create来自先前由 pthread_create 生成的线程,新的堆栈 pthread将分配在父线程的堆栈上。在主线程中,这不是问题,因为主线程的堆栈仍然可以增长,因为 MMU 会在必要时为其分配和映射新内存,但是 pthread有一个固定的堆栈大小。因此,当我从一个 pthread 创建一个 pthread 时,我必须确保父 pthread 的堆栈大小(和 guardsize)足够大以容纳子 pthread 的堆栈(加上保护页)。
这个假设正确吗?我一直无法找到任何关于此的文档。

最佳答案

使用 pthread_create() 创建的父线程可以使用 pthread_create() 创建另一个子线程。

如果子栈会存在于父栈上,那么一旦父栈结束,子栈就会失效,子栈将无法继续存在。

后者则不然。

由此可以得出结论,子堆栈存在于父堆栈中。

关于c++ - 递归 pthread 生成 - 堆栈位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20729200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com