
C#
Wenson。王
几年开发经验,算是小有成就吧
展开
-
c#设计模式--(23种)
转发:https://blog.youkuaiyun.com/nodeman/article/details/89413077转载 2021-05-11 13:55:05 · 167 阅读 · 0 评论 -
C# Async/Await异步函数原理
原理与同步函数相比,CLR在执行异步函数时有几个不同的特点:并非一次完成,而且分多次完成并非由同一个线程完成,而是线程池每次动态分配一个线程来处理;结合这些特点,C#编译器将异步函数转换为一个状态机结构。这种结构能挂起和恢复。它的执行方式是一种工作流的方式。执行步骤CLR创建一个状态机,这个状态机的操作数默认值为-1。开始执行状态机状态机通过操作数来选定执行路径状态机调用GetAwaiter方法来获取一个等待者对象awaiter,它的类型为TaskAwaiter原创 2021-04-25 14:28:18 · 2010 阅读 · 0 评论 -
c#异步和多线程
异步操作的本质所有的程序最终都会由计算机硬件来执行,所以为了更好的理解异步操作的本质,我们有必要了解一下它的硬件基础。熟悉电脑硬件的朋友肯定对DMA这个词不陌生,硬盘、光驱的技术规格中都有明确DMA的模式指标,其实网卡、声卡、显卡也是有DMA功能的。DMA就是直 接内存访问的意思,也就是说,拥有DMA功能的硬件在和内存进行数据交换的时候可以不消耗CPU资源。只要CPU在发起数据传输时发送一个指令,硬件就开始自己和内存交换数据,在传输完成之后硬件会触发一个中断来通知操作完成。这些无须消耗CPU时间的I/O原创 2021-04-22 16:11:41 · 324 阅读 · 0 评论