随笔分类 - 多线程、异步、IO
摘要:下面代码展示死锁是怎么形成的,以及如何使用Monitor.TryEnter解除死锁 话不多说,还是直接看代码 先定义一个方法,以便给一会创建的子线程调用 static void LockTooMuch(object lock1, object lock2) { lock (lock1)//先锁定第一
阅读全文
摘要:闲话不多说,直接看代码: var c = new Counter(); //new了3个线程 var t1 = new Thread(() => TestCounter(c)); var t2 = new Thread(() => TestCounter(c)); var t3 = new Thre
阅读全文
摘要:总体来说多线程中向线程传递参数有3种方式 创建对象,初始化对象中的一些值,然后在Start()方法中调用该对象方法 通过lambda表达式 Thread.Start方法 先看代码: static void Count(object iterations) { CountNumbers((int)it
阅读全文
摘要:一.主线程、前台线程与后台线程 相信前几年,大家都用过迅雷,用来下载文件是非常方便的,更重要的是速度快。那么,它的速度非常之快,全速下载的时候明显地拉慢了整个系统的响应时间,说明他占用了大量的系统资源。那它为什么这么快?知乎上的yskin用户解释说『一个下载任务进来,迅雷把文件平分成10份,然后开1
阅读全文
摘要:相关资源:https://www.cnblogs.com/langzibin/p/7755783.html 1、从I/O说起 这些概念之所以容易令人迷惑,在于很多人对I/O就没有清晰准确的理解,后面的理解自然不可能正确。我想用一个具体的例子来说明一下I/O。 设想自己是一个进程,就叫小进吧。小进需要
阅读全文
摘要:线程同步相关书籍资源: 《c#经典实例》线程、同步、并发章节 《.net40.面向对象编程漫谈》线程同步章节 《c#本质论》 《c#高级编程》基础》任务、线程、和同步章节 首先先对各种锁来一个概括和总结: Monitor(lock的底层本身是Monitor来实现的,所以Monitor可以实现lock
阅读全文
摘要:HashTable、HashSet和Dictionary的区别 - @大龙哥 - 博客园 (cnblogs.com) 哈希表Hashtable与字典表Dictionary<K,V>的比较。_快乐人生-CSDN博客_哈希表和字典区别 浅谈ConcurrentDictionary与Dictionary
阅读全文
摘要:CPU密集型(CPU-bound) CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高。 在多
阅读全文
摘要:1.ASP.NET线程模型 在WEB程序中,天生就是多线程的,我们知道,一个WEB服务可以同时服务器多个用户,我们可以想象一下,WEB程序应该运行于多线程环境中,对于运行WEB程序的线程,我们可以称之为WEB线程。因为线程池最小线程数为2(可配置),紧接着后面的请求会每隔半秒钟开始一个,因为如果池中
阅读全文

浙公网安备 33010602011771号