이 단위 테스트를 수행했는데 "await Task.Delay ()"가 대기하지 않는 이유를 이해하지 못합니다!
[TestMethod]
public async Task SimpleTest()
{
bool isOK = false;
Task myTask = new Task(async () =>
{
Console.WriteLine("Task.BeforeDelay");
await Task.Delay(1000);
Console.WriteLine("Task.AfterDelay");
isOK = true;
Console.WriteLine("Task.Ended");
});
Console.WriteLine("Main.BeforeStart");
myTask.Start();
Console.WriteLine("Main.AfterStart");
await myTask;
Console.WriteLine("Main.AfterAwait");
Assert.IsTrue(isOK, "OK");
}
다음은 단위 테스트 출력입니다.
이것이 어떻게 "대기"가 기다리지 않고 주 스레드가 계속됩니까?
Task.Run()
처음 사용하지 Console.WriteLine
않습니까?