Abbiamo un'applicazione Windows Form che utilizza un controllo ActiveX (di terze parti) e si accorgono degli oggetti delle prestazioni .NET in "Memoria CLR .NET" che il il numero di "Sync Blocks" in uso è in costante aumento (insieme all'aumento dell'utilizzo della memoria), anche se la nostra applicazione è inutilizzata.Che cos'è un "blocco di sincronizzazione" e suggerimenti per ridurre il conteggio
La spiegazione incorporato per gli stati di conteggio blocco dissipatore:
Questo contatore visualizza il numero corrente di blocchi di sincronizzazione in uso. I blocchi di sincronizzazione sono strutture di dati per oggetto allocate per la memorizzazione delle informazioni di sincronizzazione. I blocchi di sincronizzazione contengono riferimenti deboli agli oggetti gestiti e devono essere sottoposti a scansione da Garbage Collector. I blocchi di sincronizzazione non si limitano alla memorizzazione delle informazioni di sincronizzazione e possono anche archiviare i metadati di interoperabilità COM. Questo contatore è stato progettato per indicare problemi di prestazioni con l'uso intenso di primitive di sincronizzazione.
Sembra che il conteggio dei blocchi di sincronizzazione venga ripristinato quando si passa a un'applicazione diversa. Che cosa esattamente provoca la creazione di questi e ci sono suggerimenti per ridurne il numero?
(a proposito, in realtà è scritto "blocco di affondare" nella lista dei contatori delle prestazioni. Non sono sicuro se un errore di battitura o uno scherzo idraulico)
Meglio chiamarli blocchi di sincronizzazione, sicuramente nel titolo. –