c#的async到不是不是异步,它和多线程是什么关系
自己想学一下多线程这个东西,用了下Thread,接着在网上看到了async这个东西,说是异步,我自己写了下代码试了一下
static void Main(string[] args)
{
Async3();
for (int i = 0; i < 1000; i++)
{
Console.WriteLine("主线程");
}
Console.ReadLine();
}
static async void Async3()
{
for (int i = 0; i < 1000; i++)
{
Console.WriteLine("异步");
}
}
这里他会先把异步全打印出来才打印主线程,这么看来就不是异步啊,但是按照网上的await用法以后
static async void Async2()
{
// Console.WriteLine("ddd");
await Task.Run(() => { Thread.Sleep(500); Console.WriteLine("bbb"); });
Console.WriteLine("ccc");
}
这里就是先做Main里面的,再来接着做await里面的
想请教下async到底是不是异步,它和多线程是什么关系,一定要和await一起使用吗
static void Main(string[] args)
{
Async3();
for (int i = 0; i < 1000; i++)
{
Console.WriteLine("主线程");
}
Console.ReadLine();
}
static async void Async3()
{
for (int i = 0; i < 1000; i++)
{
Console.WriteLine("异步");
}
}
这里他会先把异步全打印出来才打印主线程,这么看来就不是异步啊,但是按照网上的await用法以后
static async void Async2()
{
// Console.WriteLine("ddd");
await Task.Run(() => { Thread.Sleep(500); Console.WriteLine("bbb"); });
Console.WriteLine("ccc");
}
这里就是先做Main里面的,再来接着做await里面的
想请教下async到底是不是异步,它和多线程是什么关系,一定要和await一起使用吗
...全文
相关推荐
c#异步回调用时开始另一个异步调用
c#异步回调用时开始另一个异步调用,直到完成为止
C# 异步和等待(async和await用法)
今天看到论坛里有人提到C# 异步编程 await,今天花了点时间,自己写了一个简单的程序,熟悉一下异步编程async await的用法。 使用async await 的前提条件:需要C# 5.0以上版本 .NET Framework 4.5以上 Visual Studio 2012以上。 async是用来修饰方法,表示此方法可以是异步方法,如果方法里不包含await,则此方法相当于普通的同步方法。 await是使用在被async修饰的方法里。 await 后面跟上一个异步操作Tas...
C#异步编程详解
本文主要介绍异步编程中Task、Async和Await的基础知识。具有很好的参考价值,下面跟着小编一起来看下吧
c#多线程采集源代码,不可多得的学习资料
里面源码我感觉很清晰,作为学习。很值得借鉴!对初学者很有用的!
C#多线程实例
C#多线程实例



