上一页 1 ··· 44 45 46 47 48 49 50 51 52 ··· 82 下一页
摘要: 前言 fleck 比较简洁,想看下他的源码的,先感受一下demo吧。 正文 先上代码。 static IDictionary<string, IWebSocketConnection> dic_Sockets = new Dictionary<string, IWebSocketConnection 阅读全文
posted @ 2020-07-01 17:04 敖毛毛 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 前言 我们在使用线程的时候,如果多个线程数去访问一个资源的时候,那么是非常影响程序的运行的,因为如果有写的操作,那么需要写锁,那么线程都会堵在同一个地方,那么我们可以限制一下访问一个资源的线程数。 正文 static SemaphoreSlim _semaphore = new SemaphoreS 阅读全文
posted @ 2020-07-01 16:58 敖毛毛 阅读(607) 评论(0) 推荐(0) 编辑
摘要: 前言 在异步中如何控制两个线程这样运动呢,在A线程执行到某个位置的时候等待B线程执行,然后B运行到某个位置有又开始运行A,这时候可以用AutoResetEvent。 正文 代码: private static AutoResetEvent _workerEvent = new AutoResetEv 阅读全文
posted @ 2020-07-01 16:48 敖毛毛 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 前言 后续会把异步编程的ManualResetEventSlim 深入写完,先简单介绍一下吧。 ManualResetEventSlim 有set 方法和 reset 、wait、dispose方法。 ManualResetEventSlim wait 方法 阻止当前线程,直到设置了当前 Manua 阅读全文
posted @ 2020-07-01 16:29 敖毛毛 阅读(3561) 评论(1) 推荐(0) 编辑
摘要: 前言 为什么有这个哈希链表呢? 首先来看一张图: 这种就是哈希链表。为什么要这样做呢? 如果是数组存储的话,存在一个问题,那就是扩容。 如果是链表的时候,那么存在查询需要遍历整个链表。 这个哈希链表就是两者的结合。 正文 代码如下: class HashTab { private EmpLinked 阅读全文
posted @ 2020-07-01 14:45 敖毛毛 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 前言 这篇已经做了一个总结,我来 https://www.cnblogs.com/yy1234/p/8073732.html 1、Thread.Sleep 是同步延迟,Task.Delay异步延迟。 2、Thread.Sleep 会阻塞线程,Task.Delay不会。 3、Thread.Sleep不 阅读全文
posted @ 2020-06-30 16:17 敖毛毛 阅读(1324) 评论(0) 推荐(1) 编辑
摘要: 前言 这个直接上代码。 代码逻辑是使用var tokenSource = new CancellationTokenSource(); 让tokenSource 去取消。值得注意的是取消线程后,线程会产生异常,可以在try catch 中查看,可以运行下面代码即可查看到一个完整的逻辑。 正文 sta 阅读全文
posted @ 2020-06-30 15:44 敖毛毛 阅读(3294) 评论(0) 推荐(0) 编辑
摘要: 前言 回忆一下以前是怎么写线程的。这种方式.net core 已经不支持了,所以看看就好,或者有些老项目中使用。 正文 private static int Calculate(int a, int b) { System.Threading.Thread.Sleep(1000 * 10);//假如 阅读全文
posted @ 2020-06-30 15:11 敖毛毛 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 前言 有时候我们希望某个线程更加重要,希望让其先运行的话。c#为我们提供了线程修改优先级。但是这样的效果有多大呢? 正文 直接放代码: static void Main(string[] args) { Console.WriteLine($" current thread priority:{Th 阅读全文
posted @ 2020-06-30 14:47 敖毛毛 阅读(1212) 评论(0) 推荐(0) 编辑
摘要: 前言 下面介绍多线程传值的几种方式,并说明注意点。 正文 static void Main(string[] args) { SampleTread thead = new SampleTread(10); var theadone = new Thread(thead.CountNumbers); 阅读全文
posted @ 2020-06-30 14:09 敖毛毛 阅读(258) 评论(0) 推荐(0) 编辑
上一页 1 ··· 44 45 46 47 48 49 50 51 52 ··· 82 下一页