c# 多线程查询怎么实现
一次查询的数据有点多,有个几w条,一般的查询的话,要等到查询完了结果才能出来,想让它一边显示一边查询。看到说用多线程可以解决的。请教下,c#winformvs2005这个...
一次查询的数据有点多,有个几w条,一般的查询的话,要等到查询完了结果才能出来,想让它一边显示一边查询。
看到说用多线程可以解决的。
请教下,c# winform vs2005 这个环境下怎么来实现的。 展开
看到说用多线程可以解决的。
请教下,c# winform vs2005 这个环境下怎么来实现的。 展开
展开全部
多线程数据填充一般都是一个线程在读取数据,一个线程去更新数据。以下是一个简单的模型:
public class worker
{
public static List<string> sourceData;
public void Readdata()
{
for (int i = 0; i<10000; i++)
{
// 读取第i批次的数据
lock(sourceData)
{
// 将这些数据放入sourceData
}
}
}
public void render()
{
while(true)
{
lock(sourceData)
{ // 从sourcedata中取出新的数据}
// 将数据填充道UI
}
}
}
调用者
worker wk = new worker();
Thread th1 = new Thread(new ThreadStart(wk.Readdata));
Thread th2 = new Thread(new ThreadStart(wk.render));
th1.Start();
th2.Start();
public class worker
{
public static List<string> sourceData;
public void Readdata()
{
for (int i = 0; i<10000; i++)
{
// 读取第i批次的数据
lock(sourceData)
{
// 将这些数据放入sourceData
}
}
}
public void render()
{
while(true)
{
lock(sourceData)
{ // 从sourcedata中取出新的数据}
// 将数据填充道UI
}
}
}
调用者
worker wk = new worker();
Thread th1 = new Thread(new ThreadStart(wk.Readdata));
Thread th2 = new Thread(new ThreadStart(wk.render));
th1.Start();
th2.Start();
展开全部
其实不用多线程 你需要写好存储过程 一次查出来若干了
当然开线程也根据这个原理
存储过程的输入参数可以是 第几组数据 数据量 其他输入参数
当然开线程也根据这个原理
存储过程的输入参数可以是 第几组数据 数据量 其他输入参数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是用什么控件来显示数据的呢如果是DATAGRID之类的话,应该判断已经显示出来的行数,然后停止更新数据这个线程,并启用显示数据这个线程,在重复应该就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询