我们有一个使用(第三方)ActiveX控件的Windows窗体应用程序,并且在".NET CLR内存"下的.NET性能对象中注意到正在使用的"同步块"的数量不断增加(以及增加的内存)用法),即使我们的应用程序闲置在那里.
接收器块计数的内置说明:
此计数器显示当前使用的同步块数.同步块是分配用于存储同步信息的每对象数据结构.同步块包含对托管对象的弱引用,需要由垃圾收集器进行扫描.同步块不限于存储同步信息,还可以存储COM互操作元数据.此计数器旨在指示大量使用同步原语的性能问题.
当我们切换到不同的应用程序时,同步块计数似乎确实会重置.究竟是什么导致这些创建,有没有减少这些数量的提示?
(顺便说一下,它在性能计数器列表中拼写为"sink block".我不确定它是不是一个错字或管道笑话)