![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C#
文章平均质量分 59
C#笔记
吴启林
筚路蓝缕,以启山林。
展开
-
C# 多线程 异步编程 async和await
用async定义一个方法是属于异步执行的,该方法里必定要存在一个await表达式,await会将该方法挂起,执行表达式内的异步内容,直到异步内容执行完毕后,才会继续执行表达式后面的内容。.NET 4.5开始基于任务Task提供了async和await关键字,实现方法的异步执行。如果async定义的方法不包含await表达式,则该方法为同步方法,编译器会提供相关警告。原创 2023-06-12 19:08:40 · 236 阅读 · 0 评论 -
C# 多线程 BackgroundWorker
BackgroundWorker是一个基于事件的异步模式(EAP)的实现方式,用于管理工作线程。BackgroundWoker使用线程池,所以绝不允许调用Abort,否则会导致线程池异常。原创 2023-06-10 17:19:57 · 1449 阅读 · 0 评论 -
C# 多线程 任务并行Task
本质上,Task和ThreadPool使用的是同一个线程池,一般来说,Task效率更高点。Task也是Parallel类和PLINQ的基础。原创 2023-06-08 20:27:34 · 2143 阅读 · 0 评论 -
C# 多线程 异步委托BeginInvoke
异步委托解决了线程池不能返回值的问题,允许双向传递参数,同时可以在调用线程上抛出委托方法中未处理的异常。注:EndInvoke是必须的。相互学习,共同富裕。原创 2023-06-06 21:28:04 · 1124 阅读 · 0 评论 -
C# 多线程 信号量
信号量的作用类似银行的柜台,具有一定的数量,当柜台都已有顾客在办理事务时,后面的顾客只能排队等待某个柜台办理完结后再进入柜台。信号量需要设置最大的允许数量和当前的空位数量。容量为1的信号量即与 lock 和 Mutex 功能类似。原创 2023-06-06 20:49:01 · 269 阅读 · 0 评论 -
C# 多线程 同步锁
Mutex 继承自 WaitHandle ,可使用 WaitIOne 方法加锁,使用 ReleaseMutex 方法释放锁。Mutex 的作用与 lock 相似,不同的是 Mutex 支持跨进程工作,但是效率要比 lock 低。Monitor提供了同步访问对象的机制,通过成对的 Enter 和 Exit 方法对对象加锁。lock是一个语法糖,其实际即为上述Monitor的同步代码,简化了使用锁的代码量。Monitor也提供了一个TryEnter方法,允许指定获取锁的超时时间。相互学习,共同富裕。原创 2023-06-06 18:29:17 · 1082 阅读 · 0 评论 -
C# 多线程 线程通信事件
.NET提供了用于线程之间通信的事件方法,继承结构如下图: 线程的阻塞与解除使用的方法如下图: 这里使用AutoResetEvent作为示例:相互学习,共同富裕。原创 2023-06-06 11:31:19 · 350 阅读 · 0 评论 -
C# 多线程 Thread
相互学习,共同富裕。原创 2023-06-06 13:59:01 · 108 阅读 · 0 评论 -
C# 多线程 线程池ThreadPool
通过 ThreadPool.QueueUserWorkItem(WaitCallback) 方法可以将需要异步运行的方法排入线程池的队列中。WaitCallback(Object) 是带有一个输入参数的委托。原创 2023-06-06 16:40:15 · 767 阅读 · 0 评论 -
C# 多线程 知识点概述
C# 多线程常用功能的知识点概述原创 2023-06-06 10:43:44 · 109 阅读 · 0 评论 -
C# 多线程 UI线程通信
C#跨线程操作UI控件原创 2023-06-05 15:55:57 · 1792 阅读 · 0 评论 -
C# Event 事件
C# 事件原创 2023-05-25 22:11:08 · 130 阅读 · 0 评论 -
C# delegate 委托
C# 委托原创 2022-07-26 16:31:03 · 347 阅读 · 0 评论