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

Ceranetworks顶级合作伙伴 香港E3 16G 299元 香港E5 32G 650元 美国E3 16G 650元

提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...

sharktech:老牌高防服务器商,跳楼价,1G独享$70、10G共享$240、10G独享$800

不知道大家是否注意到sharktech的所有服务器的带宽价格全部跳楼跳水,降幅简直不忍直视了,还没有见过这么便宜的独立服务器。根据不同的机房,价格也是不一样的。大带宽、不限流量比较适合建站、数据备份、做下载、做流媒体、做CDN等多种业务。 官方网站:https://www.sharktech.net 付款方式:比特币、信用卡、PayPal、支付宝、西联汇款 以最贵的洛杉矶机器为例,配置表如...

妮妮云36元,美国VPS洛杉矶 8核 8G 36元/月,香港葵湾 8核 8G

妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...

queueuserworkitem为你推荐
google竞价排名Google的竞价排名是怎么计费的手游运营手册堡垒之夜新武器是什么 堡垒之夜新武器介绍图文解析伪静态伪静态和真静态哪种静态方式好arm开发板ARM开发板和树莓派有什么区别申请证书求高手教下怎么申请证书云挂机云挂机每天2+元你提了吗?云挂机云软件挂机赚钱是骗子小米手柄小米蓝牙游戏手柄怎么连接游戏小米手柄小米手柄能连几个手机gbk编码表如何制作GBK与Unicode的对照表
未注册域名查询 服务器租用托管 xenvps 域名备案只选云聚达 七牛优惠码 photonvps Vultr webhostingpad 申请空间 世界测速 tna官网 百度云1t 中国电信宽带测速器 安徽双线服务器 华为云盘 免费邮件服务器 国外在线代理服务器 国内域名 工信部icp备案查询 广东主机托管 更多