c# - 后台 worker

标签 c# backgroundworker

如果我有一组操作,我想根据特定条件在后台工作程序中运行,例如,我有 10 个条件

if(a)
    BackgroundWorker doA = new backgroundworker()
if(b) 
    BackgroundWorker doB = new backgroundworker()
if(c) 
    BackgroundWorker doC = new backgroundworker()
if(d) 
    BackgroundWorker doD = new backgroundworker()
...
...

这些后台工作人员中的每一个都需要一个 dowork、runworkercompleted 等....是否有办法避免这种情况,从而使代码不那么困惑/困惑,因为其中一些方法可能非常大?

谢谢

最佳答案

你应该使用 Task来自 System.Threading.Tasks 命名空间,它非常简单易用。

要启动任务,您可以简单地使用:Task.Factory.StartNew() 将方法或 lambda 表达式作为参数传递。你会得到一个 Task 对象,你可以用它来继续、取回结果等。

关于c# - 后台 worker ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5538372/

相关文章:

c# - 解码 Base64/Quoted Printable 编码的 UTF8 字符串

c# - 解析 Quickbook IIF 格式文件

c# - PrivateObject 类的 GetField() 方法可以访问 C# 4.0 中的私有(private) const 字符串吗?

c# - 获取 AggregateException 中包含的真实异常类型

c# - 我应该使用什么来访问性能敏感的数据?

c# - 无法正常运行函数或以后台 worker 的身份运行

c# - 多线程或其他不同的东西

java - 后台 worker 的Spring Boot应用程序

c# - 如何取消Backgroundworker中的DoWork

c# - WPF C# 应用程序将在我运行 2-3 次时卡住我的整个计算机