【问题标题】:How does concurrent garbage collection work with parallel computations?并发垃圾回收如何与并行计算一起工作?
【发布时间】:2024-01-21 01:12:01
【问题描述】:

在 .NET 4 中是 possible to enable 并发 GC。

Q1 它如何与并行计算一起工作:ParallelTask、PLINQ 等?
Q2 作为软件开发人员,我应该注意什么什么时候使用并发 GC?

【问题讨论】:

    标签: .net multithreading concurrency garbage-collection parallel-processing


    【解决方案1】:
    1. 并发 GC 可以很好地处理并行计算。它在自己的专用线程内运行——因此它已经在与其他线程协同工作。运行时本身会处理您所需的任何同步。
    2. 一般来说,您根本不必担心这一点。 GC 的美妙之处在于您很少需要担心它的实现细节。如果您分析并发现大量处理时间花在 GC 上,我唯一会担心这一点。但是,这并不是真正特定于一种 GC 形式,而是总体上的总体分析和内存使用情况。

    话虽如此,在 .NET 4 中,添加了新的“后台 GC”。有detailed post describing this herethis Channel 9 video

    【讨论】:

      最近更新 更多