这里现有的相关问题涉及以下方面的差异
但Delegate.BeginInvoke和Thread.Start之间有什么区别?
Dea*_*ing 17
Thread.Start启动一个新的OS线程来执行委托.委托返回时,线程被销毁.这是一个非常重量级的操作(启动和销毁一个线程)所以你通常只在方法长时间运行时才这样做.
Delegate.BeginInvoke将在线程池线程上调用委托.方法返回后,线程将返回到池中以供另一个任务重用.这样做的好处是将方法排队到线程池相对较轻,因为您不必每次都启动一个全新的线程.
Control.BeginInvoke在控件的线程上调用方法.UI组件本质上是单线程的,并且每次与UI控件的交互都必须在创建它的线程上完成.Control.BeginInvoke是一种方便的方法.
| 归档时间: |
|
| 查看次数: |
5009 次 |
| 最近记录: |