我想重构一些启动新线程的代码以使用 async await 代码在队列中执行长时间运行的任务。它在框架 4 中,我正在升级到 4.5.2
这是旧代码
public void Spawn(object data)
{
var pts = new ParameterizedThreadStart(DoWork);
new Thread(pts).Start(data);
}
public void DoWork()
{
// things to run in new thread
}
如何让 DoWork 在新线程中运行?
我已经尝试了以下
public async Task DoWork()
{
// things to run in new thread
}
但是我不知道如何在 Spawn 中调用它。如果我尝试
await DoWork()
然后智能感知要我使 Spawn() 异步,所以这开始看起来像一个大的重构。我在正确的道路上吗?
相关分类