【发布时间】:2009-08-04 09:17:27
【问题描述】:
我有一个基于对话框的应用程序,我将在其中将 I/O 操作读写委托给不同的线程。
我只是想清楚这两种方法之间有什么区别..
第一种方法:(我在我的主要表单 -Form.cs 中这样做)
delegate void Action();
Action _action = new Action(Method);
this.BeginInvoke(_action);
第二种方法:
Thread th = new Thread( new ThreadStart(_action));
th.Start();
我注意到 BeginInvoke 将 UI 挂起一秒钟,而第二种方法则没有..
请帮忙
【问题讨论】:
-
对于信息,明确您的意思是 Control.BeginInvoke 和 Delegate.BeginInvoke 是有用的;我相信你的意思是第一个,但它们几乎完全相反,所以区别很重要。
-
这是第一种方法(Control.BeginInvoke),因为我是在表单上这样做的。
标签: c# .net multithreading delegates