浅谈async、await关键字 => 深谈async、await关键字

前言

之前写过有关异步的文章,对这方面一直比较弱,感觉还是不太理解,于是会花点时间去好好学习这一块,我们由浅入深,文中若有叙述不稳妥之处,还请批评指正。

话题

(1)是不是将方法用async关键字标识就是异步方法了呢?

(2)是不是没有await关键字的存在async就没有存在的意义了呢?

(3)用异步方法的条件是什么呢,为什么会有这个条件限制?

(4)只能调用.NET Framework内置的用await标识的Task,能否自定义实现呢?

(5)在lambda表达式中是否可以用async和await关键字来实现异步呢(即异步lambda表达式)?

上述抛出这几个话题,明白本文主要讲述的话题以及需要深入了解的知识。

注意:这里我将参照园友【反骨仔的文章进行进一步解析

async关键字

例如异步方法是这样的:

复制代码
        public static async Task<int> asyncMethod()
        { return await Task.Run(() => Calculate());
       
        
		

网友评论