C# 线程(四)——异步
参考:
.NET进阶篇06-async异步、thread多线程3 - 知乎 (zhihu.com)
C# Async/Await: 让你的程序变身时间管理大师_哔哩哔哩_bilibili
C# 异步编程基础(完结)_哔哩哔哩_bilibili
异步——一个cpu在执行某个线程,遇到等待(比如I/O场景,等待数据库返回数据),它可以去执行其他任务,若当前等待结束,再由它或其他cpu执行核心去继续执行
理解:妈妈现在需要做饭,她将饭洗好放到电饭锅,按下煮饭键。然后她就去炒菜了,而不用等着米饭煮好了再去炒菜(同步),这就是异步。
应用场景:IO密集型
并发——创建多个线程,同一时间他们都能竞争cpu执行的时间片。
理解:现在需要做饭,需要切菜(线程一)、生火(线程二)、煮饭(线程三)这三个前期准备工作可以同时进行,为了提升效率,妈妈让儿子、丈夫、自己三个人(多个cpu执行核心)去做这三件事。这就是并发执行。但是计算器。
应用场景:CPU计算密集型
Task异步
async/await