摘要: 池(Pool)是一个很常见的提高性能的方式。比如线程池连接池等,之所以有这些池是因 为线程和数据库连接的创建和关闭是一种比较昂贵的行为。对于这种昂贵的资源我们往往会考虑在一个池容器中放置一些资源,在用的时候去拿,在不够的时候添 点,在用完就归还,这样就可以避免不断的创建资源和销毁资源。如果您做过相关实验的话可能会觉得不以为然,似乎开1000个线程也用不了几百毫秒。我们要这么想,对于一个高并发的环境来说,每一秒假设有100 个请求,每个请求需要使用(开和关)10个线程,也就是一秒需要处理1000个线程的开和关,每个线程独立堆栈1M,可以想象在这一秒中内存分配和回收是 多么夸张,这个开销不能说不昂 阅读全文
posted @ 2014-01-28 15:36 gejianhua 阅读(500) 评论(0) 推荐(0) 编辑
摘要: C# 温故而知新: 线程篇(一)C# 温故而知新: 线程篇(二)C# 温故而知新:线程篇(三)C# 温故而知新: 线程篇(四) 阅读全文
posted @ 2014-01-28 15:31 gejianhua 阅读(346) 评论(0) 推荐(0) 编辑
摘要: C# 温故而知新:Stream篇(—)C# 温故而知新:Stream篇(二)C# 温故而知新:Stream篇(三)C# 温故而知新:Stream篇 (四)C# 温故而知新:Stream篇(五)C# 温故而知新:Stream篇(六)C# 温故而知新:Stream篇(七) 阅读全文
posted @ 2014-01-28 15:28 gejianhua 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 自定义线程池-c#的简单实现下面是代码,希望大家提出更好的建议:1.ThreadManager.csusingSystem;usingSystem.Threading;usingSystem.Collections;namespaceCustomThreadPool{//////线程管理器,会开启或唤醒一个线程去执行指定的回调方法///publicclassThreadManager{//线程列表,静态privatestaticArrayList threadList =newArrayList();//不允许创建实例privateThreadManager(){}//////静态方法,开启或 阅读全文
posted @ 2014-01-28 14:37 gejianhua 阅读(4735) 评论(1) 推荐(0) 编辑