c#event 怎么实现async await
1个回答
展开全部
Async/Await
其实也没有什么神秘的,个人觉得就是实现异步主要靠await ,假如一个声明为async的方法,没有使用await关键字,则这个方法在执行的时候就被当作同步方法,这时编译器也会抛出警告提示async修饰的方法中没有使用await,将被作为同步方法使用。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace DemoAsync
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Task Start !");
//DotaskWithThread();
DOTaskWithAsync();
Console.WriteLine("Task End !");
Console.ReadLine();
}
public static async void DOTaskWithAsync()
{
Console.WriteLine("Await Taskfunction Start");
await Task.Run(()=> {
Dotaskfunction();
});
}
public static void Dotaskfunction()
{
for (int i = 0; i <= 5; i++) {
Console.WriteLine("task {0} has been done!",i);
}
}
}
}
其实也没有什么神秘的,个人觉得就是实现异步主要靠await ,假如一个声明为async的方法,没有使用await关键字,则这个方法在执行的时候就被当作同步方法,这时编译器也会抛出警告提示async修饰的方法中没有使用await,将被作为同步方法使用。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace DemoAsync
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Task Start !");
//DotaskWithThread();
DOTaskWithAsync();
Console.WriteLine("Task End !");
Console.ReadLine();
}
public static async void DOTaskWithAsync()
{
Console.WriteLine("Await Taskfunction Start");
await Task.Run(()=> {
Dotaskfunction();
});
}
public static void Dotaskfunction()
{
for (int i = 0; i <= 5; i++) {
Console.WriteLine("task {0} has been done!",i);
}
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询