C# 一个backgroundworker对象还是多个backgroundworker对象?
我有一个.net windows应用程序(单一表单),有许多按钮,如从数据库加载数据、下一页、上一页、搜索等。我希望在单击所有按钮时使用backgroundworker,这样我的UI不会冻结C# 一个backgroundworker对象还是多个backgroundworker对象?,c#,backgroundworker,C#,Backgroundworker,我有一个.net windows应用程序(单一表单),有许多按钮,如从数据库加载数据、下一页、上一页、搜索等。我希望在单击所有按钮时使用backgroundworker,这样我的UI不会冻结 问题是我应该在整个表单中为所有按钮使用一个backgroundworker对象,还是为每个按钮使用一个单独的backgroundworker对象?这篇文章很有用,如果您只使用一个,那么您需要将所有db操作包装成一个结果。否则,您应该使用多个BackgroundWorker 多个会更好。您可以使用任务工厂进
问题是我应该在整个表单中为所有按钮使用一个backgroundworker对象,还是为每个按钮使用一个单独的backgroundworker对象?这篇文章很有用,如果您只使用一个,那么您需要将所有db操作包装成一个结果。否则,您应该使用多个BackgroundWorker
多个会更好。您可以使用任务工厂进行此操作。无需创建自己的后台工作人员,速度更快
Task<bool> task = Task.Factory.StartNew<bool>
(() => /*Do you button operations */);
Task Task=Task.Factory.StartNew
(()=>/*是否执行按钮操作*/);
您可以在此处阅读有关任务的更多信息:
请注意,这需要.Net 4.5,如果您的目标是较旧的Framewroks,请查看线程池: