05 2023 档案
摘要:文章目录 一、前言 二、认识 2.1. 基于任务的多线程编程 2.2. 隐式地创建并运行一个任务 2.3. 显示地创建并运行一个任务 2.3.1. Task常规使用 2.3.2. Task.Run() 2.3.3. Task.Factory.StartNew() 2.3.4. 带有返回值的Task<
阅读全文
摘要:关于Queue(不安全)和ConcurrentQueue(安全)的总结 最近一直迷茫于两种队列Queue和ConcurrentQueue,不清楚他们的区别,看资料一直说他们一个线程安全【ConcurrentQueue】,一种是线程不安全队列【Queue】,简单的理解就是在多线程的 情况下,Concu
阅读全文
摘要:BlockingCollection是一个比较冷门的类,我们先看下官方对这个类的定义: 简单来说,BlockingCollection就是一个线程安全的阻塞队列,利用阻塞这个特性,我们可以实现进程内的生产者-消费者模式,比如消息转发、日志记录等。 下面我们看一个例子,其用来实现消息转发,先定义一个M
阅读全文
摘要:C# 回调函数的实现? 被回调的函数其实是作为参数传递给要执行的函数的。那如何才能将函数作为参数呢?当然是使用委托了,委托的知识这里就不讲解了。这样的话我们就很好理解了,那我们就开始实现起来。首先定义一个委托:delegate void DelegateDone(); //定义一个无返回值的委托再定
阅读全文