【发布时间】:2012-07-15 01:54:39
【问题描述】:
我有一个简单的应用程序,可以触发一系列数据密集型任务。我对 WinForms 不是很有经验,我想知道在不锁定界面的情况下最好的方法。可以重复使用 backgroundWorker,还是有其他方法可以做到这一点?
谢谢
【问题讨论】:
-
我会使用后台工作人员。
-
如果您只需要一个其他线程,我会使用后台工作者,它们非常易于使用,并且已经完成了大部分艰苦的工作,为您提供不同工作阶段的直接事件完成。
-
如果您需要该线程在完成密集工作后与 UI 元素交互,请使用 Backgroundworker。否则,如果您只是想要一些其他工作,例如从其他地方填充一些容器数据,这些数据在其他时间或事件中由主 UI 使用,则使用普通线程。
-
好吧,他们用户可以启动各种不同的任务,然后通过 entityFramework 执行数据库操作。那么,当用户完成任务 A 后,后台工作人员是否可以再次用于任务 B?
标签: c# winforms multithreading