【发布时间】:2013-06-24 10:17:21
【问题描述】:
在多线程环境中堆是如何管理的?
- 它是在线程之间共享还是每个线程都有其独立的堆?
- 如果两者都可行,那么推荐哪种方法?
【问题讨论】:
-
在什么操作系统中?什么语言?什么运行环境?
-
也检查this
标签: multithreading
在多线程环境中堆是如何管理的?
【问题讨论】:
标签: multithreading
堆可以由互斥体共享和保护。这是最简单的解决方案,在大多数情况下都能很好地工作。
您可以为每个线程创建一个堆,但是您必须决定是允许从任何线程进行释放还是仅从进行分配的线程进行释放。无论哪种方式,它都会变得非常多毛。如果您有大量线程和大量分配,这可能是一个更具可扩展性的解决方案。
【讨论】: