摘要:
前言 fleck 比较简洁,想看下他的源码的,先感受一下demo吧。 正文 先上代码。 static IDictionary<string, IWebSocketConnection> dic_Sockets = new Dictionary<string, IWebSocketConnection 阅读全文
摘要:
前言 我们在使用线程的时候,如果多个线程数去访问一个资源的时候,那么是非常影响程序的运行的,因为如果有写的操作,那么需要写锁,那么线程都会堵在同一个地方,那么我们可以限制一下访问一个资源的线程数。 正文 static SemaphoreSlim _semaphore = new SemaphoreS 阅读全文
摘要:
前言 在异步中如何控制两个线程这样运动呢,在A线程执行到某个位置的时候等待B线程执行,然后B运行到某个位置有又开始运行A,这时候可以用AutoResetEvent。 正文 代码: private static AutoResetEvent _workerEvent = new AutoResetEv 阅读全文
摘要:
前言 后续会把异步编程的ManualResetEventSlim 深入写完,先简单介绍一下吧。 ManualResetEventSlim 有set 方法和 reset 、wait、dispose方法。 ManualResetEventSlim wait 方法 阻止当前线程,直到设置了当前 Manua 阅读全文
摘要:
前言 为什么有这个哈希链表呢? 首先来看一张图: 这种就是哈希链表。为什么要这样做呢? 如果是数组存储的话,存在一个问题,那就是扩容。 如果是链表的时候,那么存在查询需要遍历整个链表。 这个哈希链表就是两者的结合。 正文 代码如下: class HashTab { private EmpLinked 阅读全文