为什么要异步?
- 提高用户体验,避免假死。
- 提高效能
假死: 一个Exe有一个进程,有一个主线程,如果只使用这个主线程,在IO或网络时,Exe就会等待而Form会假死。
在原来使用Delphi开发时,使用一个AVI的控件,改善这种假死,基本能满足客户需要。
.net 开发,透过Thread,Task等,改善。但停留在Copy层面。
提高效能:在原来的自已的开发中,没有碰到这样的案例。三层框架或WebAPI,框架组件自动处理了。
异步要弄清楚,以及.net 从delegate Action task begininvok IAsyncResult async 以及ValueTask,就是一部.net史。
技术的涉及也很广。透过一两周的学习,了解与熟悉,并能串起了这些知识点,再学习二到三次,总结一下:
进程
线程
异步
堆
栈
值类型
引用类型
事件
委托
Task
BeginInvoke
EndInvoke