c#线程基础之线程池
2008-06-23 12:36
190 查看
使用线程池可以更好的控制一系列线程的运行状态。msdn参考文档
http://msdn.microsoft.com/zh-cn/library/3dasc8as(VS.80).aspx
这里面ms把ThreadPool描述的很清楚了,但是它的例子太简单,只是简单介绍了如何用信号量数组来控制线程池的成员。一个更好的例子在ThreadPool.GetMaxThreads的介绍文档中。
http://msdn.microsoft.com/zh-cn/library/system.threading.threadpool.getmaxthreads(VS.80).aspx
对于没有深入接触过线程或者文件读写的初学者来说,这个例子比较难懂,但是我还是建议你尽量搞清楚里面的每行代码。他的示例说明不够明了,大致就是一个辅助线程通过手动调用,两个io线程通过FileStream的异步调用,而"并且根据计算机处理器的速度和数目,由一个或两个完成端口线程处理写入操作"
这句的意思是,两个fileWriter.BeginWrite依次调用,就会在线程池中排队,如果没有足够的io线程,两个不一定会并发。
http://msdn.microsoft.com/zh-cn/library/3dasc8as(VS.80).aspx
这里面ms把ThreadPool描述的很清楚了,但是它的例子太简单,只是简单介绍了如何用信号量数组来控制线程池的成员。一个更好的例子在ThreadPool.GetMaxThreads的介绍文档中。
http://msdn.microsoft.com/zh-cn/library/system.threading.threadpool.getmaxthreads(VS.80).aspx
对于没有深入接触过线程或者文件读写的初学者来说,这个例子比较难懂,但是我还是建议你尽量搞清楚里面的每行代码。他的示例说明不够明了,大致就是一个辅助线程通过手动调用,两个io线程通过FileStream的异步调用,而"并且根据计算机处理器的速度和数目,由一个或两个完成端口线程处理写入操作"
这句的意思是,两个fileWriter.BeginWrite依次调用,就会在线程池中排队,如果没有足够的io线程,两个不一定会并发。
相关文章推荐
- c#线程基础之线程池
- C#中的多线程-线程同步基础 (控制线程数量)
- [C# 线程处理系列]专题一:线程基础
- C# 多线程、异步线程、线程池相关知识
- C#夯实基础之多线程二:主线程、前台线程与后台线程
- 《CLR via C#》之线程处理——线程池与任务
- C#线程系列讲座(3):线程池和文件下载服务器
- C# 多线程编程基础——怎么创建和执行多个线程
- 『C#基础』多线程笔记「四」线程池
- C# 高定位高效率程序中 线程与线程池比较
- C#线程处理系列之线程池中的I/O线程
- c#基础学习 - 线程,任务与同步
- 黑马程序员:Java基础总结----线程池及java5的线程并发库
- C#语言 第六部分 线程(一)线程基础(2)
- c# 线程基础
- C# 执行固定个数任务自行控制进入线程池的线程数量,多任务同时但是并发数据限定
- 一起谈.NET技术,关于C#线程,线程池和并行运算的简单使用和对比
- [转]C#线程系列讲座(3):线程池和文件下载服务器
- C#基础知识梳理系列十三:线程之美
- C#中的线程(二) 线程同步基础