我尝试了一些异步/等待的事情,但我不会真的得到它。我最初想要完成的事情是从两个不同的线程同时写入控制台。下面是代码:如何正确使用异步等待
static void Main(string[] args)
{
DoSomethingAsync();
for (int i = 0; i < 1000; i++)
Console.Write(".");
Console.ReadLine();
}
static async void DoSomethingAsync()
{
Console.WriteLine("DoSomethingAsync enter");
//This does not seem good
await Task.Delay(1);
for (int i = 0; i < 1000; i++)
Console.Write("X");
Console.WriteLine("DoSomethingAsync exit");
}
随着这很简单,但与异步线程/等待我只当我把在这个陌生的
我看到用这个await Task.Delay(1);
的最基本的例子完成它。但是如果你想做一些不是异步的时间测量,该怎么办?你不能等待任何东西,所以所有的代码都在主线程上运行。 我怎样才能达到与此代码相同的行为,但不使用Task.Delay()?
请勿使用'async void'。 – SLaks 2014-10-19 14:24:31
看看我的[async-await curation](https://curah.microsoft.com/45553/asyncawait-general)。 – 2014-10-25 09:26:46