我們有一個使用(第三方)ActiveX控件的Windows窗體應用程序,並在「.NET CLR內存」下的.NET性能對象中注意到即使我們的應用程序處於空閒狀態,正在使用的「同步塊」數量也在不斷增加(隨着內存使用量的增加)。什麼是「同步塊」和減少計數的提示
信宿塊計數狀態內置的解釋:
此計數器顯示在使用中的同步塊的當前數目。同步塊是分配用於存儲同步信息的每個對象的數據結構。同步塊對被管對象持有弱引用,需要由垃圾收集器掃描。同步塊不限於存儲同步信息,還可以存儲COM互操作元數據。此計數器旨在指示大量使用同步基元的性能問題。
但是,當我們切換到不同的應用程序時,同步塊計數看起來會重置。究竟是什麼導致這些創建,並有任何提示減少這些?
(順便說一句,這真的是在性能計數器列表中拼寫爲「散熱塊。」我不知道,如果它的一個錯字或管道笑話)您使用鎖定原語如lock
或
更好地稱它們爲同步塊,當然在標題中。 – 2009-11-26 12:07:49