C#中的泛型
摘要:泛型 泛型相比反射,委托等较为抽象的概念要更接地气得多,而且在平常工作时,我们几乎时刻都和泛型有接触。大部分人对泛型都是比较熟悉的。 泛型集合是类型安全的集合。相对于泛型System.Collections.Generic,我们有类型不安全的集合System.Collections,其中的成员均为O
阅读全文
posted @
2021-07-28 23:20
freden
阅读(1016)
推荐(1)
异步编程(一)
摘要:异步是与同步相对的,是一种时序上的概念,即事件处理顺序。 如果A事件需要等待B事件完成才能运行,那么A与B就是同步的;相反的,如果A事件运行不需要等待B事件的完成,也就是说,B还在运行,A就可以自己决定是否需要运行,那么A与B就是异步的。 可见,同步与异步的关键在于是否需要等待。 有一个很容易跟异步
阅读全文
posted @
2021-07-28 21:41
freden
阅读(78)
推荐(0)
进程间通讯-共享内存
摘要:一、原理 简单来说,共享内存的方式,就是在内存中开辟一块区域,专门用来存放进程需要交换的消息。当内存中已有被A进程写入了消息,那么其他进程就可以在此内存中读取到A进程想分享的消息了。关于内存的操作,Kernel32.dll为我们提供了便捷的函数接口。 1.CreateFileMapping 创建文件
阅读全文
posted @
2021-07-26 20:27
freden
阅读(435)
推荐(0)
进程间通讯-发送消息
摘要:一、发送方 User32.dll中提供了发送消息的系统API。 [DllImport("User32.dll", EntryPoint = "SendMessage")] private static extern int SendMessage( IntPtr hWnd, //目标窗体句柄 int
阅读全文
posted @
2021-07-21 16:41
freden
阅读(333)
推荐(0)
异步编程(四)多线程的同步机制-Lock关键字
摘要:一、前言 为什么需要同步机制?临界资源要求同一时间只有一个进程访问,因此在多线程中必须对临界资源的访问做同步限制。 同步分为两种,一种是直接同步,即该资源的访问是互斥的,不能允许多个线程同时访问,如打印机资源;另外一种是间接同步,即进程的执行需要其他进程的结果,那么这两个进程间的运行就有先后顺序,可
阅读全文
posted @
2021-01-20 08:52
freden
阅读(221)
推荐(0)
异步编程(三)委托-Action
摘要:action实现异步处理 1.实现 class Async { public void DoSomething(string name) { Console.WriteLine($"{name}开始工作;线程:【{Thread.CurrentThread.ManagedThreadId.ToStri
阅读全文
posted @
2021-01-18 15:43
freden
阅读(420)
推荐(0)
单例模式
摘要:一、饿汉式->单例一开始就初始化好,只要有请求就给,此时的无论多少个请求都指向同一个单例。这里也可以将初始化操作 _instance = new BufferHandler() 放在构造函数中。 private static BufferHandler _instance = new BufferH
阅读全文
posted @
2021-01-11 17:18
freden
阅读(90)
推荐(0)
如何扩展C#类中的方法
摘要:现在有一个计算和的方法,提供了两个加数求和的方法。 public class Calc { public int Add(int a, int b) { return a + b; } } 计算之后打印到控制台中。 Console.WriteLine(new Calc().Add(1, 2)); 但
阅读全文
posted @
2020-05-22 09:47
freden
阅读(378)
推荐(0)