将工作委派给多个线程的模式

发布于 2024-08-23 12:34:22 字数 276 浏览 6 评论 0原文

我正在更新一个 WinForms 应用程序,该应用程序使用 BackgroundWorker 在按下按钮时执行一些有用的操作。

问题是,“有用的事情”会按顺序迭代一长串要做的事情,并且可能需要相当长的时间才能完成。

我正在考虑让按钮按下事件创建多个BackgroundWorker,而不是一个,或者让当前的BackgroundWorker 创建额外的BackgroundWorker 来完成实际工作。

这两种方法对我来说似乎相当相当。

两者都有优点/缺点吗?有更好的方法吗?

I'm updating a WinForms application that uses a BackgroundWorker to do something useful when a button is pressed.

The trouble is, "something useful" iterates sequentially through a long list of things to do, and can take quite a while to complete.

I'm considering having the button press event create multiple BackgroundWorkers instead of one or having the current BackgroundWorker create additional BackgroundWorkers to do the actual work.

Both approaches seem fairly equivalent to me.

Are there advantages/disadvantages to either one? Is there a better way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

徒留西风 2024-08-30 12:34:22

您是否考虑过将后台工作程序与 Parallel.For 一起使用? (Parallel.For @ msdn)

管理多个工作人员可能是一个问题 - 这就是并行扩展所做的事情......

PK :-)

Have you looked at using the background worker with Parallel.For? (Parallel.For @ msdn)

Managing the multiple workers could be an issue - that's the kind of thing the Parallel extensions do...

PK :-)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文