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 或者退出之前你给主窗口发个消息,或者告诉其他的线程我要结束了,于是对方就知道了!

搬瓦工:香港PCCW机房即将关闭;可免费升级至香港CN2 GIA;2核2G/1Gbps大带宽高端线路,89美元/年

搬瓦工怎么样?这几天收到搬瓦工发来的邮件,告知香港pccw机房(HKHK_1)即将关闭,这也不算是什么出乎意料的事情,反而他不关闭我倒觉得奇怪。因为目前搬瓦工香港cn2 GIA 机房和香港pccw机房价格、配置都一样,可以互相迁移,但是不管是速度还是延迟还是丢包率,搬瓦工香港PCCW机房都比不上香港cn2 gia 机房,所以不知道香港 PCCW 机房存在还有什么意义?关闭也是理所当然的事情。点击进...

Advinservers:美国达拉斯便宜VPS/1核/4GB/80GB SSD/1Gbps不限流量/月付$2.5/美国10Gbps高防服务器/高达3.5TBDDos保护$149.99元/月

Advinservers,国外商家,公司位于新泽西州,似乎刚刚新成立不久,主要提供美国和欧洲地区VPS和独立服务器业务等。现在有几款产品优惠,高达7.5TB的存储VPS和高达3.5TBDDoS保护的美国纽约高防服务器,性价比非常不错,有兴趣的可以关注一下,并且支持Paypal付款。官方网站点击直达官方网站促销产品第一款VPS为预购,预计8月1日交付。CPU为英特尔至强 CPU(X 或 E5)。官方...

hostodo:美国大流量VPS,低至$3,8T流量/月-1.5G内存/1核/25gNVMe/拉斯维加斯+迈阿密

hostodo从2014年年底运作至今一直都是走低价促销侧率运作VPS,在市场上一直都是那种不温不火的品牌知名度,好在坚持了7年都还运作得好好的,站长觉得hostodo还是值得大家在买VPS的时候作为一个候选考虑项的。当前,hostodo有拉斯维加斯和迈阿密两个数据中心的VPS在促销,专门列出了2款VPS给8T流量/月,基于KVM虚拟+NVMe整列,年付送DirectAdmin授权(发ticket...

queueuserworkitem为你推荐
易pc华硕易PC这款本本值不值的买勒?百度手写百度手写显示镜像文件是什么什么是文件镜像?什么是镜像文件?iphone越狱后怎么恢复已经越狱的iphone怎么恢复到原来的系统网易公开课怎么下载怎么下载网易公开课里的视频 .......安装迅雷看看播放器怎样安装迅雷看看播放器idc前线永恒之塔内侧 删档吗 ?iphone6上市时间苹果6什么时候在中国大陆上市发邮件怎么发怎样发送邮件如何清理ie缓存怎么清理IE缓存
国外主机空间 jsp虚拟空间 泛域名绑定 diahosting 美国主机评论 国外空间服务商 iis安装教程 css样式大全 日本空间 e蜗牛 圣诞促销 qq云端 免费智能解析 流媒体加速 免费私人服务器 华为云服务登录 双12 google台湾 智能dns解析 工信部网站备案查询 更多