我的目的 定时读取数据库 把数据更新到控件
我想用线程池 后台 加载 等数据读好了后 加载到控件上。
我调试的时候for循环没始终没有结束的好像一直死循环了
private void UpdateDataBaseTimer_Tick(object sender, EventArgs e)
{
// 计时器定时触发 然后用线程池加载一个读取数据库的线程
System.Threading.ThreadPool.QueueUserWorkItem(new WaitCallback(this.ReadDataBase));
}
private void ReadDataBase(object obj)
{
//dt是数据库返回的 datatable 类型的数据集合
//这里读取数据库返回一个datatable 绑定控件的
for(int a=0;a<dt.rows;a++)
{
dataList[a].Add(dt.row[a][0])
这里的a 有时0 有时 3 一直没有到6 就一直在里面
}
}
导致了 缓存dataList 里的count 不稳定 总是有不完整的数据。就报 索引超出范围之类的。
------解决思路----------------------
你是多个线程执行这一个函数吗?
------解决思路----------------------

代码不完整。
------解决思路----------------------
调试多线程不能断点跟
你在timer里不断的启动线程
多个线程都执行同一个函数,同一段代码
你设置断点,谁知道断点到底停在哪个线程了