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

iHostART:罗马尼亚VPS/无视DMCA抗投诉vps;2核4G/40GB SSD/100M端口月流量2TB,€20/年

ihostart怎么样?ihostart是一家国外新商家,主要提供cPanel主机、KVM VPS、大硬盘存储VPS和独立服务器,数据中心位于罗马尼亚,官方明确说明无视DMCA,对版权内容较为宽松。有需要的可以关注一下。目前,iHostART给出了罗马尼亚vps的优惠信息,罗马尼亚VPS无视DMCA、抗投诉vps/2核4G内存/40GB SSD/100M端口月流量2TB,€20/年。点击直达:ih...

BGPTO独服折优惠- 日本独服65折 新加坡独服75折

BGPTO是一家成立于2017年的国人主机商,从商家背景上是国内的K总和有其他投资者共同创办的商家,主营是独立服务器业务。数据中心包括美国洛杉矶Cera、新加坡、日本大阪和香港数据中心的服务器。商家对所销售服务器产品拥有自主硬件和IP资源,支持Linux和Windows。这个月,有看到商家BGPTO日本和新加坡机房独服正进行优惠促销,折扣最低65折。第一、商家机房优惠券码这次商家的活动机房是新加坡...

Contabo美国独立日促销,独立服7月€3.99/月

Contabo自4月份在新加坡增设数据中心以后,这才短短的过去不到3个月,现在同时新增了美国纽约和西雅图数据中心。可见Contabo加速了全球布局,目前可选的数据中心包括:德国本土、美国东部(纽约)、美国西部(西雅图)、美国中部(圣路易斯)和亚洲的新加坡数据中心。为了庆祝美国独立日和新增数据中心,自7月4日开始,购买美国地区的VPS、VDS和独立服务器均免设置费。Contabo是德国的老牌服务商,...

queueuserworkitem为你推荐
行业关键词企业应如何做关键词排名简体翻译成繁体帮忙把繁体翻译成简体打开网页出现错误我打开网页老出现错误是怎么了?万网核心代理我想买个域名和空间,我一朋友给我介绍万网代理环宇网络空间商,他们的空间稳定吗,价格怎么样,咨询师的服在线代理网站求有效的代理服务器地址?qq空间打扮QQ空间打扮2012年正月十五2012年正月十五 几月几号商标注册查询官网商标注册查询官方网站?宽带接入服务器网络已连接,可无法连接到服务器为什么?网络已连接,可无法连接到服务宽带接入服务器互联网的接入方式有哪几种?
百度域名 vps论坛 缓存服务器 香港机房托管 wordpress技巧 174.127.195.202 京东云擎 华为云主机 12306抢票助手 铁通流量查询 三拼域名 ca4249 双拼域名 可外链网盘 支付宝扫码领红包 海外空间 photobucket wordpress中文主题 cdn网站加速 学生服务器 更多