zxqk.net
当前位置:首页 >> C#中invokE 和 BEgininvokE 都什么时候用 >>

C#中invokE 和 BEgininvokE 都什么时候用

Invoke,需要等待委托的方法执行返回后才执行下面的代码, 同步时使用 begininvoke不需要 异步调用

区别在于Invoke是同步,BeginInvoke是异步。 打个比方(伪代码),后台线程中需要通知UI界面进行刷新 new Thread(){ /* 比如读取数据库的方法,比较耗时; var data = GetData(); 读取完成后通知UI线程, this.Invoke(data); //如果GetData方法是...

区别在于Invoke是同步,BeginInvoke是异步。 打个比方(伪代码),后台线程中需要通知UI界面进行刷新 new Thread() { /* 比如读取数据库的方法,比较耗时; var data = GetData(); 读取完成后通知UI线程, this.Invoke(data); //如果GetData方法是...

Invoke,需要等待委托的方法执行返回后才执行下面的代码 begininvoke不需要

在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate。 一、为什么Control类提供了Invoke和BeginInvoke机制? 关于这个问题的最主要的原因已经是dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己。...

Invoke后,在主线程上执行,线程将等待返回结果,最后造成的结果就是时间过长,主界面或主线程假死。 BeginInvoke后,主线程将创建一个后台线程去执行,完了后,主线程继续往后执行,不会等待返回结果。用户需要得到返回结果的话,就必须调用End...

class Program { delegate void test(); static void Main(string[] args) { test ts = new test(TestDelegate); ts.BeginInvoke(null,null); //使用到委托的beginInvoke方法 Console.WriteLine("hello"); } internal static void TestDelegate(...

在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate。 一、为什么Control类提供了Invoke和BeginInvoke机制? 关于这个问题的最主要的原因已经是dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己。...

1 /// 2 /// 直接调用Invoke 3 /// 4 private void TestInvoke() 5 { 6 listBox1.Items.Add("--begin--"); 7 listBox1.Invoke(new Action(() => 8 { 9 listBox1.Items.Add("Invoke"); 10 })); 11 12 Thread.Sleep(1000); 13 listBox1.Items.Add(...

多线程,我们经常要在工作线程中去更新界面显示,而在多线程中直接调用界面控件的方法是错误的做法,Invoke 和 BeginInvoke 就是为了解决这个问题而出现的,使你在多线程中安全的更新界面显示。 正确的做法是将工作线程中涉及更新界面的代码封装...

网站首页 | 网站地图
All rights reserved Powered by www.zxqk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com