queueuserworkitem怎么判断线程池QueueUserWorkItem中的线程已经完成了。

queueuserworkitem  时间:2021-01-17  阅读:()

请教c#的threadPool是怎么用的

TheadPool的用法: 1、创建一个ManualResetEvent的对象,就像一个信号灯,指示线程的挂起和执行; 2、ManualResetEvent对象创建时,可以指定默认状态:true为有信号,false为无信号; 3、调用Reset()方法重置状态; 4、调用WaitOne()方法,使线程处于等待状态; 5、调用Set()方法设置状态。

using System; using System.Collections.Generic; using System.Text; using System.Threading; using System.Collections; namespace Demo { public class ParamObject { public int number; public ParamObject (int number) { this.number = number; } } public class ThreadClass { public Hashtable aHashTable; public ManualResetEvent aManualResetEvent; public static int iCount = 0; public static int iMaxCount = 0; public ThreadClass(int maxCount) { aHashTable = new Hashtable(maxCount); iMaxCount = maxCount; } public void ThreadRun(object aParamObject) { Console.WriteLine("HashCode: {0}, Number in Object: {1}", Thread.CurrentThread.GetHashCode(), ((ParamObject)aParamObject).number); lock (aHashTable) { if (!aHashTable.ContainsKey(Thread.CurrentThread.GetHashCode())) { aHashTable.Add(Thread.CurrentThread.GetHashCode(), 0); } aHashTable[Thread.CurrentThread.GetHashCode()] = (int)aHashTable[Thread.CurrentThread.GetHashCode()] + 1; } Thread.Sleep(3000); Interlocked.Increment(ref iCount); if (iCount == iMaxCount) { Console.WriteLine("Setting aManualResetEvent..."); aManualResetEvent.Set(); } } } class Program { public static void Main(string[] args) { bool enableThreadPool = false; int iMaxCount = 20; ManualResetEvent aManualResetEvent = new ManualResetEvent(false); Console.WriteLine("Insert {0} items to Thread Pool.", iMaxCount); ThreadClass aThreadClass = new ThreadClass(iMaxCount); aThreadClass.aManualResetEvent = aManualResetEvent; // First, add an item to check if your system supports ThreadPool API function or not. try { ThreadPool.QueueUserWorkItem(new WaitCallback(aThreadClass.ThreadRun), new ParamObject(0)); enableThreadPool = true; } catch (NotSupportedException ex) { Console.WriteLine("Thread Pool API is not supported in this system."); enableThreadPool = false; } if (enableThreadPool) { for (int i = 1; i < iMaxCount; i++) { ThreadPool.QueueUserWorkItem(new WaitCallback(aThreadClass.ThreadRun), new ParamObject(i)); } Console.WriteLine("Waiting for thread pool to drain"); aManualResetEvent.WaitOne(Timeout.Infinite, true); Console.WriteLine("Thread Pool has been drained."); Console.WriteLine("Load threads info:"); foreach (object key in aThreadClass.aHashTable.Keys) { Console.WriteLine("Key: {0}, Value: {1}", key, aThreadClass.aHashTable[key]); } } Console.ReadLine(); } } }

检举破坏基本农田向哪个部门

因非法采沙而被毁坏的“耕地”,对该“耕地”应当依据国务院《基本农田保护条例》予以保护,并对监管失职的部门以及有关责任人予以责任追究。

依据国务院《基本农田保护条例》第6条的规定,县级以上地方人民政府的土地行政主管部门、农业行政主管部门和乡镇人民政府负有保护基本农田保护的“法定职责”。

同时,该条例35条规定,“其他农业生产用地”的管理“参照本条例执行”。

由此可见,对提问者所说的农用地的,负有监管法定职责的单位是:县级国土资源局、县级农业局和箱(镇)人民政府。

该些单位中的主要领导、直接领导、承担该项具体工作的有关人员,对保护农业用地负有相应的监管责任,因失职渎职造成严重后果的,应当依法被追究法律责任。

附《基本农田保护条例》(1998年12月27日中华人民共和国国务院令第257号发布 根据2011年1月8日《国务院关于废止和修改部分行政法规的决定》修订) 第六条 国务院土地行政主管部门和农业行政主管部门按照国务院规定的职责分工,依照本条例负责全国的基本农田保护管理工作。

  县级以上地方各级人民政府土地行政主管部门和农业行政主管部门按照本级人民政府规定的职责分工,依照本条例负责本行政区域内的基本农田保护管理工作。

  乡(镇)人民政府负责本行政区域内的基本农田保护管理工作。

第三十五条 省、自治区、直辖市人民政府可以根据当地实际情况,将其他农业生产用地划为保护区。

保护区内的其他农业生产用地的保护和管理,可以参照本条例执行。

asp.net 什么是异步请求

"异步"请求是相对于"同步"请求而言的,很多操作都存在"异步"和"同步"一说, "同步" 的意思是说,你发起一个操作,程序需要一直等待,直到操作完成,程序才能继续执行进行下一步。

异步就是 你开始一个操作,程序在操作完成之前可以继续后续的工作,当操作完成后,触发事件或者使用回调来处理操作完成的手续。

一般来说异步操作都是启动一个新的线程去处理你的请求,完成之后调用你指定的回调函数来完成整个异步操作。

怎么判断线程池QueueUserWorkItem中的线程已经完成了。

在线程函数里面做下处理就行了,线程函数 return 或者退出之前你给主窗口发个消息,或者告诉其他的线程我要结束了,于是对方就知道了!

wordpress通用企业主题 wordpress高级企业自适应主题

wordpress高级企业自适应主题,通用型企业展示平台 + 流行宽屏设计,自适应PC+移动端屏幕设备,完美企业站功能体验+高效的自定义设置平台。一套完美自适应多终端移动屏幕设备的WordPress高级企业自适应主题, 主题设置模块包括:基本设置、首页设置、社会化网络设置、底部设置、SEO设置; 可以自定义设置网站通用功能模块、相关栏目、在线客服及更多网站功能。点击进入:wordpress高级企业...

昔日数据:香港云服务器(2G防御)、湖北云服务器(100G防御),首月5折,低至12元/月

昔日数据,国内商家,成立于2020年,主要销售湖北十堰和香港HKBN的云服务器,采用KVM虚拟化技术构架,不限制流量。当前夏季促销活动,全部首月5折促销,活动截止于8月11日。官方网站:https://www.xrapi.cn/5折优惠码:XR2021湖北十堰云服务器托管于湖北十堰市IDC数据中心,母鸡采用e5 2651v2,SSD MLC企业硬盘、 rdid5阵列为数据护航,100G高防,超出防...

腾讯云CVM云服务器大硬盘方案400GB和800GB数据盘方案

最近看到群里的不少网友在搭建大数据内容网站,内容量有百万篇幅,包括图片可能有超过50GB,如果一台服务器有需要多个站点的话,那肯定默认的服务器50GB存储空间是不够用的。如果单独在购买数据盘会成本提高不少。这里我们看到腾讯云促销活动中有2款带大数据盘的套餐还是比较实惠的,一台是400GB数据盘,一台是800GB数据盘,适合他们的大数据网站。 直达链接 - 腾讯云 大数据盘套餐服务器这里我们看到当前...

queueuserworkitem为你推荐
spgnux怎么安装思普操作系统快速美白好方法有什么快速美白的好办法吗?依赖注入什么是依赖注入依赖注入的作用是什么意思照片转手绘怎么把图片P成手绘ps抠图技巧请教PS抠图技巧!!!童之磊网文大学很强吗?奇虎论坛360有论坛中心?lockdowndios8.1怎么激活内置卡贴ios系统ios是什么意思 ios系统是什么虚拟专用网虚拟专用网适用于什么行业
域名解析服务器 好玩的桌面 12306抢票助手 国外免费空间 创梦 网通服务器托管 台湾谷歌 彩虹云 西安主机 睿云 深圳主机托管 网站防护 重庆联通服务器托管 godaddyssl register.com windowsserver2008r2 globalsign 免费免备案cdn 深圳服务器维护 dell服务器论坛 更多