maz*_*maz 3 c# asynchronous task-parallel-library async-await
我有以下代码:
static void Main(string[] args)
{
Run1();
Run2().Wait();
}
static async Task DoAsyncWork()
{
await Task.Delay(2000);
}
static async Task Run2()
{
var tid = Thread.CurrentThread.ManagedThreadId;
await DoAsyncWork();
Console.WriteLine(tid == Thread.CurrentThread.ManagedThreadId);
}
static void Run1()
{
var tid = Thread.CurrentThread.ManagedThreadId;
DoAsyncWork().Wait();
Console.WriteLine(tid == Thread.CurrentThread.ManagedThreadId);
}
Run Code Online (Sandbox Code Playgroud)
什么是输出:
有时真有时是假的.
真正
假
假
真正
有时真有时是假的.
真正
真正
我认为3是正确答案,但是当我运行代码时,我得到:
真正
假
我知道为什么第一个打印是真的,但任何人都可以解释为什么当我运行代码时,我得到假?(我如何在第二次印刷中获得真实?)
谢谢!
| 归档时间: |
|
| 查看次数: |
124 次 |
| 最近记录: |