0

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

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

4

1 回答 1

1

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

如果它们是,没问题 - 你不必做任何事情。

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

于 2013-06-25T17:51:25.553 回答