您多久在UI中使用System.Component.BackgroundWorker?(如果曾经)

Tom*_*onk 5 .net user-interface multithreading winforms

我确信响应式用户界面是每个人都在努力争取的东西,而推荐的做事方式就是使用BackgroundWorker.

你觉得它很容易使用吗?你经常使用它吗?或者你有自己的框架来完成冗长的任务和报告过程.

我发现我使用它非常多,甚至在我需要某种进度报告的地方使用它的代表.

Don*_*ter 3

多线程编程一开始很难掌握(老手有时仍然会失败),而BackgroundWorker让它更容易使用。我喜欢这样一个事实:BackgroundWorker 具有易于实现的功能,但更容易以微妙的方式错误地实现,例如取消。如果我有并且需要进度更新,我会使用它,这样我就可以显示有意义的进度条。

如果没有,我使用线程(或从线程池借用),因为我不需要BackgroundWorker的所有功能,并且足够熟练地使用线程来启动线程并等待它停止。

至于不相关任务的委托,我使用 Thread 类的委托,例如 plain void ThreadStart(),或者创建自己的委托。