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

DiyVM:50元/月起-双核,2G内存,50G硬盘,香港/日本/洛杉矶机房

DiyVM是一家比较低调的国人主机商,成立于2009年,提供VPS主机和独立服务器租用等产品,其中VPS基于XEN(HVM)架构,数据中心包括香港沙田、美国洛杉矶和日本大阪等,CN2或者直连线路,支持异地备份与自定义镜像,可提供内网IP。本月商家最高提供5折优惠码,优惠后香港沙田CN2线路VPS最低2GB内存套餐每月仅50元起。香港(CN2)VPSCPU:2cores内存:2GB硬盘:50GB/R...

HostYun 新上美国CN2 GIA VPS 月15元

HostYun 商家以前是玩具主机商,这两年好像发展还挺迅速的,有点在要做点事情的味道。在前面也有多次介绍到HostYun商家新增的多款机房方案,价格相对还是比较便宜的。到目前为止,我们可以看到商家提供的VPS主机包括KVM和XEN架构,数据中心可选日本、韩国、香港和美国的多个地区机房,电信双程CN2 GIA线路,香港和日本机房,均为国内直连线路。近期,HostYun上线低价版美国CN2 GIA ...

ShockHosting($4.99/月),东京机房 可享受五折优惠,下单赠送10美金

ShockHosting商家在前面文章中有介绍过几次。ShockHosting商家成立于2013年的美国主机商,目前主要提供虚拟主机、VPS主机、独立服务器和域名注册等综合IDC业务,现有美国洛杉矶、新泽西、芝加哥、达拉斯、荷兰阿姆斯特丹、英国和澳大利亚悉尼七大数据中心。这次有新增日本东京机房。而且同时有推出5折优惠促销,而且即刻使用支付宝下单的话还可获赠10美金的账户信用额度,折扣相比之前的常规...

queueuserworkitem为你推荐
eset最新用户名密码ESET4.0最新用户名和密码今日热点怎么删除怎样删除实时热点安全漏洞计算机一般存在哪些安全漏洞?安全漏洞什么是安全漏洞攻击??虚拟专用网intranet,extranet,虚拟专用网与internet有什么区别与联系小米手柄小米手柄能连几个手机网管工具网吧管理软件都有哪些?宽带接入服务器什么是宽带接入系统?怎样绕过宽带接入系统上网网站推广外链网站推广发外链,外链内容怎么确定去鼠标加速度win7怎么去鼠标加速度
黑龙江域名注册 免费国际域名 什么是域名解析 如何注册中文域名 已备案域名出售 cn域名个人注册 winhost ix主机 谷歌香港 有益网络 169邮箱 adroit cdn加速是什么 美国堪萨斯 空间技术网 linux使用教程 ca187 免费mysql数据库 万网空间管理 lick 更多