多线程处理窗体和控件

更新:2007 年 11 月

虽然多线程处理最适于运行过程和类方法,它也可以用于窗体和控件。使用时,请注意以下几点:

  • 只要有可能,便仅在用来创建它的线程上执行控件的各种方法。若须从另一线程调用控件的方法,则必须使用 Invoke 来调用该方法。

  • 不要使用 SyncLock 语句锁定操作控件或窗体的线程。由于控件和窗体的方法有时回调到调用过程,因此可能会因无意中创建了死锁而终止运行(死锁是指两个线程都等待对方释放锁定,从而导致应用程序暂停的情况)。

请参见

概念

线程状态

多线程过程的参数和返回值

多线程应用程序

参考

Invoke

InvokeRequired

其他资源

组件中的多线程处理