gpt4 book ai didi

c# - 为什么这个任务挂起?

转载 作者:行者123 更新时间:2023-11-30 19:04:48 24 4
gpt4 key购买 nike

[TestMethod]
public void Y()
{
int i = 0;
new Task(() => i++).Wait();

Assert.AreEqual(1, i);
}

上例中的 Task 是什么原因一直在等待?我应该如何为任务 Wait() 使其不挂起?

最佳答案

您没有开始任务。试试这个:

[TestMethod]
public void Y()
{
int i = 0;
Task task = new Task(() => i++);
task.Start();
task.Wait();
Assert.AreEqual(1, i);
}

或者更好(如 Damien 建议的那样)使用 Task.Run() :

[TestMethod]
public void Y()
{
int i = 0;
Task.Run(() => i++).Wait();
Assert.AreEqual(1, i);
}

关于c# - 为什么这个任务挂起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39287117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com