.NET并行计算和并发3.2-多线程调用Invoke
2017-08-18 13:01
344 查看
以下这个例子是用一个后台线程执行计算逻辑,这样不影响前台界面操作,也就是说
可以在前台UI界面执行其他操作。
重点是新线程中,调用了一个委托方法,这个方法是需要填充数据到前台控件,因为
前台控件是在原来的线程中创建的,所以在新线程中需要调用Invoke方法,实时的展示
后台逻辑的计算进度。
代码如下:
View Code
可以在前台UI界面执行其他操作。
重点是新线程中,调用了一个委托方法,这个方法是需要填充数据到前台控件,因为
前台控件是在原来的线程中创建的,所以在新线程中需要调用Invoke方法,实时的展示
后台逻辑的计算进度。
代码如下:
1 public partial class Form1 : Form 2 { 3 private delegate void mydelegate(long j); 4 private mydelegate dele; 5 public Form1() 6 { 7 InitializeComponent(); 8 dele += new mydelegate(delegateMethod); 9 } 10 11 private void delegateMethod(long j) 12 { 13 this.textBox1.Text = j.ToString(); 14 } 15 16 private void button1_Click(object sender, EventArgs e) 17 { 18 Thread thd = new Thread(threadMethod); 19 thd.Start(); 20 } 21 22 private void threadMethod() 23 { 24 long j = 0; 25 for (int i = 0; i < 1e10; i++) 26 { 27 j++; 28 if (j%1000 == 0) 29 { 30 //调用Invoke方法后,会在原来的创建textbox1的线程中执行delegateMethod方法。 31 this.Invoke(dele,j); 32 } 33 } 34 } 35 } 36
View Code
相关文章推荐
- 多线程 同步资源,同步调用,异步调用,并发,并行的区别
- 浅谈.NET下的多线程和并行计算(六)线程池基础下
- 浅谈.NET下的多线程和并行计算(九)Winform中多线程编程基础下
- 浅谈.NET下的多线程和并行计算(二)线程基本知识
- 浅谈.NET下的多线程和并行计算
- !.NET 4.0并行计算深入解读(FOR,FOREACH,Invoke)
- .NET使用Task动态创建多任务多线程并行程序计算Redis集群keys计算
- 浅谈.NET下的多线程和并行计算(五)线程池基础上 (转)
- .NET 4.0 并行计算技术基础(1) :理解“并行”与“并发”的区别
- 浅谈.NET下的多线程和并行计算(一)前言
- 浅谈.NET下的多线程和并行计算(八)Winform中多线程编程基础上
- 浅谈.NET下的多线程和并行计算(十一).NET异步编程模型基础下
- 【转】C#多线程环境下调用 HttpWebRequest 并发连接限制 HttpClient是否有默认并发数限制? 在.Net 4.0之前,一直是依靠HttpWebRequest实现Htt
- 浅谈.NET下的多线程和并行计算(六)线程池基础下 (转)
- (转)浅谈.NET下的多线程和并行计算(一)前言
- 一起谈.NET技术,4.0中的并行计算和多线程详解(二)
- 【转】浅谈.NET下的多线程和并行计算(八)Winform中多线程编程基础上
- 浅谈.NET下的多线程和并行计算(二)线程基本知识
- !.NET 4.0并行计算深入解读(FOR,FOREACH,Invoke)
- [转]浅谈.NET下的多线程和并行计算(二)线程基本知识