代码越跑越慢,求高人解!
1,
ThreadPool.QueueUserWorkItem(new WaitCallback(RUN_SERVER), DS_OLD_real); //线程池 进入函数 DS_OLD_real是DataSet
2,
private void RUN_SERVER(object obj)
{
//获取本车子最优路线数据集
DataSet DS_OLD_real_PATH = (DataSet)obj;
//读取本车子当前所在的位置
string realP = ***// SOCKET取得值;
cardData cd = new cardData();//cardData 是一个自定义结构
cd.cardID = DS_OLD_real_PATH.Tables[0].Rows[lastR]["cardID"].ToString();
cd.mapID = DS_OLD_real_PATH.Tables[0].Rows[lastR]["mapID"].ToString();
cd.crossingID = realP; //当前路口
cd.destinationID = DS_OLD_real_PATH.Tables[0].Rows[lastR]["end"].ToString();
cd.VISTOR_ID = DS_OLD_real_PATH.Tables[0].Rows[lastR]["VISTOR_ID"].ToString();
DataControlEveryData(cd, DS_OLD_real_PATH);
}
3,
private void DataControlEveryData(cardData de_All, DataSet DS_OLD_real_PATH)
{
//取的前一次到达行车点
DS_OLD_real_PATH.Tables[1].DefaultView.Sort = "time desc"; //实际行车路线cardID,
//当前行车位置,和上次行车位置同一位置上
if (DS_OLD_real_PATH.Tables[1].DefaultView[0]["crossing"].ToString() == de_All.crossingID)
{
//继续执行函数
Thread.Sleep(1000);
RUN_SERVER(DS_OLD_real_PATH);
return;
}
//程序运算
}
我的程序测试,一直让它在 2,3之间循环;跑久了就会变慢!求解