异步 并发 async

当时面试时遇到异步与线程的关系,当时的知识量是 1, 一个线程执行一个任务  2. 遇到异步之后交回控制权,3.那么推理异步函数是由其他线程执行(线程池中)。 不知道当时的面试官他自己有没有清楚这个是怎么运行的,感觉他就是蒙的

测试如下: 证明自己的理解是正确的

异步 并发 async

 

这里需要注意的一件事是async/await并不是并行/多核编程。代码的作用类似于“同步”,因为您可以在await之后以本方法继续执行代码。因此,如果在一个方法中有四个await,则必须等到每个方法都完成后才能调用下一个方法。因此,您必须使用任务库或任何您喜欢的方法生成新线程,以使它们并行运行。但是,您也可以让每个线程使用async/wait,这样它们就不会阻塞资源了!