简单线程系列1-最简单的线程池
2012-06-03 09:46
197 查看
using System; using System.Threading; namespace ConsoleApplication1 { static class Program { static int _count; private const int Max = 1000; static void Main() { ThreadPool.SetMaxThreads(3, 3); for (int i = 0; i < Max; i++) { ThreadPool.QueueUserWorkItem(Oper, i); } while (_count < Max) Thread.Sleep(50); Console.WriteLine("{0}\tcount={1}", DateTime.Now.ToString("mm:ss:fff"), _count); int workerthread = -1; int streamthread = -1; ThreadPool.GetAvailableThreads(out workerthread, out streamthread); Console.WriteLine("{0}\tworkerthread={1}\tstreamthread={2}", DateTime.Now.ToString("mm:ss:fff"), workerthread, streamthread); Console.ReadLine(); } static void Oper(object obj) { int i = (int)obj; Console.WriteLine("{0}\t执行结果{1}", DateTime.Now.ToString("mm:ss:fff"), i); _count++; } } }
简单解释一下,开3个线程,执行1000个任务。
最终的空闲线程还是3个。
程序下载
相关文章推荐
- c++ 11 多线线程系列-------- 一个最简单而且实用的线程池
- 简单线程系列1-固定大小的线程池
- 简单线程系列3-可变尺寸的线程池
- 简单线程系列4-延迟线程池
- 简单线程系列5-单任务延迟线程池
- 关于C#线程,线程池和并行运算的简单使用和对比
- C#线程系列讲座(3):线程池和文件下载服务器
- 线程系列06,通过CLR代码查看线程池及其线程
- (转)C#线程系列讲座(3):线程池和文件下载服务器
- [.Net线程处理系列]专题二:线程池中的工作者线程
- [C# 线程处理系列]专题二:线程池中的工作者线程
- 基于Jdk1.5可中止制定线程的线程池简单扩展
- [.Net线程处理系列]专题二:线程池中的工作者线程
- [.Net线程处理系列]专题三:线程池中的I/O线程
- [.Net 多线程处理系列]专题二:线程池中的工作者线程
- [.Net 多线程处理系列]专题三:线程池中的I/O线程
- Java线程池及Future、Callable获得线程返回结果【Java线程池系列2】
- posix 线程(一):线程模型、pthread 系列函数 和 简单多线程服务器端程序
- [.Net线程处理系列]专题三:线程池中的I/O线程
- [C# 线程处理系列]专题三:线程池中的工作者线程