gpt4 book ai didi

c - pthread - 当多个线程共享同一个堆时如何提供堆同步机制?

转载 作者:太空宇宙 更新时间:2023-11-04 11:22:25 24 4
gpt4 key购买 nike

虽然在 SO 中以不同的方式提出了这个问题,但我将从 pthreads 的角度以不同的方式提出这个问题,以了解提供同步的工具。

我们知道每个线程都有自己的线程栈,但共享堆和全局数据。当共享堆时,我很困惑如何以及提供哪个同步工具来保护整个堆?

最佳答案

有两种可能性 - 您的系统提供的处理堆的函数(mallocfree 等)是线程安全的,或者不是.

如果是,没问题 - 您无需执行任何操作。

如果不是,则需要为每个要使用并适当锁定的函数编写一个包装函数。 pthread_mutex_* 调用似乎适合我。

关于c - pthread - 当多个线程共享同一个堆时如何提供堆同步机制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17304054/

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