并发垃圾收集如何与并行计算一起使用?

时间:2011-06-07 19:18:26

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

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

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

1 个答案:

答案 0 :(得分:9)

  1. Concurrent GC可以在并行计算中正常工作。它在自己的专用线程内部运行 - 因此它已经处理与其他线程协同工作。运行时本身可以处理您所需的任何同步。
  2. 一般来说,你根本不必担心这一点。 GC的美妙之处在于您很少需要担心其实现细节。如果您发现并发现在GC中花费了大量的处理时间,那么我唯一担心的就是这一点。但是,这并不是特定于某种形式的GC,而是一般的整体分析和内存使用。
  3. 话虽如此,在.NET 4中,添加了新的“背景GC”。有一个detailed post describing this here以及this Channel 9 video