网上找到的关于c#线程池扩展
2013-06-18 15:23
204 查看
public class ThreadPoolEx { private class WorkItemInfo { public AutoResetEvent AutoResetEvent { get; set; } public WaitCallback WaitCallback { get; set; } public object UserState { get; set; } } public int excenum = 0; private List<AutoResetEvent> handlerStack = new List<AutoResetEvent>(); public void QueueWorkItem(WaitCallback callBack, object userstate) { WorkItemInfo info = new WorkItemInfo(); info.AutoResetEvent = new AutoResetEvent(false); handlerStack.Add(info.AutoResetEvent); info.WaitCallback = callBack; info.UserState = userstate; ThreadPool.QueueUserWorkItem((state) => { WorkItemInfo workItemInfo = (WorkItemInfo)state; try { workItemInfo.WaitCallback(workItemInfo.UserState); } finally { workItemInfo.AutoResetEvent.Set(); } }, info); } public void WaitAllComplete() { foreach (AutoResetEvent handler in handlerStack) { excenum++; handler.WaitOne(); } } }
相关文章推荐
- 网上找到的关于自定义comboBox Column(datagrid c#)
- 关于C#线程,线程池和并行运算的简单使用和对比
- 关于vs2010下.net4.0 C#代码的混淆--网上各种破解版混淆工具的使用记录
- 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法
- 关于C#线程,线程池和并行运算的简单使用和对比
- 关于C#线程,线程池和并行运算的简单使用和对比
- 关于C#扩展方法
- C# 线程手册 第五章 扩展多线程应用程序 在C#中使用线程池
- 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法
- 一起谈.NET技术,关于C#线程,线程池和并行运算的简单使用和对比
- 关于C#中this的一个用法----用于C#原始类型扩展方法
- 关于C#扩展方法
- C# 关于未找到元数据文件.exe和不包含适合于入口点的静态“Main”方法
- 求C#关于线程池的简单例子
- 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法
- 网上找到的一段关于SAP支持服务的Q&A (转)
- 以下是网上找到一些关于excel操作的资源可通过链接查看http://www.soaspx.com/dotnet/csharp/csharp_20091125_1762.html
- (转)网上找到的学习C#的方法
- 关于asp.net C# 导出Excel文件打开Excel文件格式与扩展名指定格式不一致的解决办法
- 关于c#的config配置文件操作网上很多讲的和实际运用感觉不符,终于理解了一点点,记录一下