使用backgroundworker的多种长方法的最佳实践

wal*_*ybh 7 c# backgroundworker winforms

我有一个有很多长方法的表单.我的任务是:最佳做法是什么?使用匿名方法和只有一个backgroundworker或为每个long方法创建BackgroundWorker实例.

请帮忙.谢谢.

Wil*_*ler 2

我个人会为您的每一项任务使用一个BackgroundWorker 实例。但是,请记住,您可能会在线程的多个不同实例中多次调用相同的委托方法。

通过为每个长方法任务配备一个BackgroundWorker,您将能够充分控制您的方法。此外,据我了解,一旦BackgroundWorker的实例执行一项任务,它就会忙于该后台任务,因此使其对其他人不可用。虽然我可能是错的,但无论如何我都会这样做,因为您的 DoWork() 事件处理程序只能执行要求为此 BackgroundWorker 执行的操作。因此,对我来说,只为一个 BackgroundWorker 实例执行完全不同的任务似乎是不可能的。

这有帮助吗?