Mamy aplikację Windows Forms, która wykorzystuje kontrolkę ActiveX (strony trzeciej) i zauważają w obiektach wydajności .NET w "pamięci CLR .NET", które liczba używanych bloków "Sync Blocks" stale rośnie (wraz ze wzrostem wykorzystania pamięci), mimo że nasza aplikacja jest bezczynna.Co to jest "blok synchronizacji" i wskazówki dotyczące zmniejszania liczby:
Wbudowany wyjaśnienie stanów liczby bloków umywalką:
Ten licznik wyświetla aktualną liczbę bloków synchronizacji w użyciu. Bloki synchronizacji są strukturami danych dla obiektów przydzielonymi do przechowywania informacji synchronizacyjnych. Bloki synchronizacji przechowują słabe odniesienia do zarządzanych obiektów i muszą zostać zeskanowane przez Garbage Collector. Bloki synchronizacji nie są ograniczone do przechowywania informacji synchronizacyjnych i mogą również przechowywać metadane międzyoperacyjne COM. Ten licznik został zaprojektowany w celu wskazania problemów z wydajnością przy intensywnym użyciu prymitywów synchronizacji.
Licznik bloków synchronizacji wydaje się resetowany po przełączeniu do innej aplikacji. Co dokładnie powoduje, że są one tworzone i czy istnieją jakieś wskazówki dotyczące zmniejszenia ich liczby?
(BTW, to naprawdę jest napisane „blok sink” na liście liczników wydajności. Nie jestem pewien, czy jest to literówka czy hydraulika żart)
Lepiej dzwoń do bloków synchronizacji, na pewno w tytule. –