C# 用任务替换BackGroundWorker

C# 用任务替换BackGroundWorker,c#,C#,我听说后台工作人员将被任务取代。所以我需要问一下在性能上是否有任何差异。以及如何使用task而不是background worker替换现有代码 装载 每3秒钟,我的后台工作人员在我的主服务器中运行一个特定的例程。 如何将其替换为任务?编写一个方法,而不是backgroundWorker事件。然后在timer_tick事件中写入如下内容: private async void timer_Tick(object sender, EventArgs e) { await T

我听说后台工作人员将被任务取代。所以我需要问一下在性能上是否有任何差异。以及如何使用task而不是background worker替换现有代码

装载 每3秒钟,我的后台工作人员在我的主服务器中运行一个特定的例程。
如何将其替换为任务?

编写一个方法,而不是backgroundWorker事件。然后在timer_tick事件中写入如下内容:

private async void timer_Tick(object sender, EventArgs e)
    {
        await Task.Run(() => 
        {
            YourMethod();
        });
    }

是关于这个主题的更多链接

BackgroundWorker会留下来,如果你知道如何使用它,就使用它吧。如果你想尝试这项任务,我建议你读一读,尝试一下,然后问一个更具体的问题。BackgroundWorker仍在使用中,它适合于不纠结的任务(比如当你需要停止任务直到另一项任务完成)。你可以阅读这篇文章了解更多细节。性能是否更好(更快),或者两者是否相同?我不是性能方面的专家,但我认为它们彼此非常接近,选择取决于其他因素。后台工作人员处理的不仅仅是运行任务。它还处理后台任务和UI线程之间的通信。也不知道为什么要将方法async void设置为只等待正在运行的任务。
private async void timer_Tick(object sender, EventArgs e)
    {
        await Task.Run(() => 
        {
            YourMethod();
        });
    }