У нас есть приложение Windows Forms, которое использует элемент управления ActiveX (стороннего производителя) и замечает в объектах производительности .NET в разделе «.NET CLR Memory», что количество используемых «Sync Blocks» постоянно увеличивается (наряду с увеличением использования памяти), хотя наше приложение сидит там без дела.Что такое «Блок синхронизации» и советы по сокращению числа
Встроенный объяснение раковины блок подсчета состояний:
Этот счетчик отображает текущее количество блоков синхронизации в использовании. Блоки синхронизации - это структуры данных для объекта, выделенные для хранения информации синхронизации. Блоки синхронизации хранят слабые ссылки на управляемые объекты и должны быть отсканированы сборщиком мусора. Блоки синхронизации не ограничиваются хранением информации синхронизации и могут также хранить метаданные COM interop. Этот счетчик был разработан для указания проблем производительности при интенсивном использовании примитивов синхронизации.
Счетчик блоков синхронизации, похоже, сбрасывается, когда мы переключаемся на другое приложение. Что именно заставляет их создавать, и есть ли советы по сокращению их числа?
(кстати, это на самом деле пишется «раковина блок» в списке счетчиков производительности. Я не уверен, если его опечатка или водопроводная шутка)
Лучше назовите их блоки синхронизации, безусловно, в заголовке. –