1.主线程调用子线程,主线程WaitOne(10毫秒)
2.在子线程中执行以下SQl命令,超时(10毫秒)的话子线程被中断,不再操作数据库,返回主线程。
3.主线程根据WaitOne的返回值去做业务处理。
public DataTable Query(string sql, List<DbParameter> parmList = null)
{
DataTable dt = new DataTable();
using (DbCommand command = Connector.Connection.CreateCommand())
{
PrepareCommand(command, Connector.Transaction, sql, CommandType.Text, parmList);
      SqlLogOut(command);
using (DbDataAdapter adapter = Connector.Factory.CreateDataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(dt);
}
command.Parameters.Clear();
}
return dt;
}
问题: 为什么会出现第一次超时没查询到结果,第二次查询时返回第一次的查询结果?
另外中断时间加成则不会出现以上问题。