两个同时运行的线程控件(BackgroundWorker)串数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个同时运行的线程控件(BackgroundWorker)串数据相关的知识,希望对你有一定的参考价值。
参考技术A 表达的不是很清楚,没有代码无法帮你分析问题,建议你直接使用托管进行异步操作
我写个简单的例子。
///
<summary>
///
定义3个异步线程托管
///
</summary>
delegate
void
Worker1();
delegate
void
Worker2();
delegate
void
UpdateGrid(DataTable
dt);
private
void
StartingWorker()
//初始化两个异步操作实例
Worker1
W1
=
new
Worker1(Worker1Fun);
Worker2
W2
=
new
Worker2(Worker2Fun);
//开始异步方式运行
//这里你可以定义
回调的,自己看参数
W1.BeginInvoke(null,
null);
W2.BeginInvoke(null,
null);
///
<summary>
///
异步线程1的方法
///
</summary>
private
void
Worker1Fun()
DataTable
dt
=
null;
//这里就是你的详细代码
//当线程1处理完毕后,把结果更新给Grid
//切换到创建控件的线程上执行更新
Invoke(new
UpdateGrid(UpdateGridFun),
dt);
///
<summary>
///
异步线程2的方法
///
</summary>
private
void
Worker2Fun()
DataTable
dt
=
null;
//这里就是你的详细代码
//当线程2处理完毕后,把结果更新给Grid
//切换到创建控件的线程上执行更新
Invoke(new
UpdateGrid(UpdateGridFun),
dt);
///
<summary>
///
更新控件的方法
///
</summary>
private
void
UpdateGridFun(DataTable
dt)
dataGridView1.DataSouce
=
dt;
以上是我写的一个简单的例子,你在基础上稍稍改动成你需要的就行了,希望对你有帮助。
以上是关于两个同时运行的线程控件(BackgroundWorker)串数据的主要内容,如果未能解决你的问题,请参考以下文章