gpt4 book ai didi

multithreading - POSIX 线程堆栈内存 - 我们可以有不同的堆栈大小和安全问题吗?

转载 作者:行者123 更新时间:2023-12-04 08:28:02 26 4
gpt4 key购买 nike

关于 POSIX 线程堆栈大小及其安全问题,我有几个问题:

A) 我们可以有不同的堆栈大小(对于每个线程集,使用: pthread_attr_getstacksize )?

B)当一个线程死亡(分离/退出)时,操作系统会回收它的内存页面吗?

C)如果它们在虚拟内存映射上碰巧彼此相邻,线程是否可以继续写入另一个线程堆栈段?

最佳答案

A) 是的,当然,这就是 pthread_attr_setstacksize 的目的。 .

B) 是的,请调用 pthread_detachpthread_join导致线程资源在终止时被回收。

C)理论上是的,但是由于在大多数系统上堆栈向后增长(从高地址到低地址),您必须进行某种缓冲区溢出才能摆脱当前的堆栈空间。

关于multithreading - POSIX 线程堆栈内存 - 我们可以有不同的堆栈大小和安全问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9586310/

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