C#学习笔记
文章平均质量分 84
勉之1.2.6
这个作者很懒,什么都没留下…
展开
-
多线程、线程池、同步异步、并发并行
异步方法中,在遇到await之前程序按正常顺序执行,当遇到await时当前异步方法被挂起,特别注意仅是当前异步方法被挂起,与线程无关,不是当前线程被挂起!因此调用该异步方法的原方法可正常继续执行,【特别注意整个过程与线程无关,多线程只是实现异步的一种手段】当await等待的内容执行完毕(返回void、Task、Task),当前程序执行点将回跳到该await阻塞的下一句,一直将异步方法执行完毕后再回到原调用方法刚才所执行到的位置处继续执行。(有点像子线程+回调函数,但注意Task执行于线程池线程,性能更原创 2022-11-13 18:01:27 · 283 阅读 · 3 评论 -
C#内存、堆与栈以及CPU占用问题
值类型保存于栈,引用类型保存于堆上。具体而言,函数参数、局部变量、函数返回数据、结构体、枚举、类对象的引用等保存于栈上,由编译器自动释放;类、接口、数组、字符串等引用存于堆上。在如下代码中myForm是Form型的变量,存于栈上;new Form()是Form类实例化出的一个对象,new会在堆中开辟出一部分空间存储该对象,值得注意的是该对象中的字段也会随之存于堆中。Form myForm = new Form();对于栈来说,空间会向着内存..原创 2022-04-13 23:31:40 · 3187 阅读 · 0 评论 -
浅析编程及类的本质、类的抽象
现阶段编程语言极大丰富,以编程思想大致分为面向过程和面向对象两类。此处重点分析一下对编程和类的认识以及类的抽象思路。类是某一现实事物的抽象,是一组数据和若干指令的集合,前者表示该事物的属性(不同的数据类型代表不同类的属性,可进行不同的运算),后者表示可执行的操作和方法。原创 2022-04-13 11:21:03 · 281 阅读 · 0 评论 -
C#的三种Timer辨析
C#的三种Timer辨析原创 2022-03-30 18:18:24 · 1228 阅读 · 0 评论 -
控件和delegate的Invoke、BeginInvoke用法总结及基本逻辑
控件的Invoke、BeginInvoke用法总结及底层逻辑;delegate的BeginInvoke用法总结及回调函数的机理。原创 2022-03-28 11:55:36 · 2737 阅读 · 0 评论