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

ole*_*sii 10 .net parallel-processing concurrency multithreading garbage-collection

在.NET 4中,可以启用并发GC.

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

Ree*_*sey 9

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

话虽如此,在.NET 4中,添加了新的"背景GC".这里有一个详细的帖子描述了这个以及第9频道的视频.