У меня есть пример кода, который иллюстрирует проблемы в моем коде, когда GC.Collect выполняется для класса, имеющего переменную-член ReaderWriterLockSlim. Сбор GC.Collect занимает от 2 до 3 секунд. Мне необходимо проводить ГХ через регулярные промежутки времени, потому что мое приложение чрезвычайно интенсивно использует память.
namespace WpfApplication12
{
public class DataItem
{
private readonly ReaderWriterLockSlim m_propertyLock = new ReaderWriterLockSlim();
public DataItem()
{
}
}
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
List<DataItem> dataItemList = new List<DataItem>();
for (int i = 0; i < 100000; i++)
{
dataItemList.Add(new DataItem());
}
Debug.WriteLine(DateTime.Now.ToString());
GC.Collect();
Debug.WriteLine(DateTime.Now.ToString());
}
}
}
У кого-нибудь были подобные проблемы?
Спасибо
Ian