一个监控程序,C#,每隔20秒查询数据库一次,数据量不大,可内存区不断在增长。
已经在每次查询完数据库后使用,内存回收了(代码如下),但效果不明显。if (dbConnection != null)
{
dbConnection.Close();
dbConnection = null;
}
if (dbCommand != null)
{
dbCommand.Dispose();
dbCommand = null;
}
if (dsResult != null)
{
dsResult.Clear();
dsResult.Dispose();
dsResult = null;
}
if (dataAdapter != null)
{
dataAdapter.Dispose();
dataAdapter = null;
}
GC.Collect();
已经在每次查询完数据库后使用,内存回收了(代码如下),但效果不明显。if (dbConnection != null)
{
dbConnection.Close();
dbConnection = null;
}
if (dbCommand != null)
{
dbCommand.Dispose();
dbCommand = null;
}
if (dsResult != null)
{
dsResult.Clear();
dsResult.Dispose();
dsResult = null;
}
if (dataAdapter != null)
{
dataAdapter.Dispose();
dataAdapter = null;
}
GC.Collect();
已经在每次查询完数据库后使用,内存回收了(代码如下),但效果不明显。lz可以考虑用多线程来实现:利用多线程中锁的机制,在同一时刻只允许一个线程访问数据库,并及时释放数据库连接.