C#如何判断线程池中所有的线程是否已经完成

如题所述

//检查线程池的方法 private voidCheckThreadPool(object state, bool timeout){int workerThreads = 0;
int maxWordThreads = 0;
//int int compleThreads = 0;
ThreadPool.GetAvailableThreads(out workerThreads, out compleThreads);
ThreadPool.GetMaxThreads(out maxWordThreads, out compleThreads);
//当可用的线数与池程池最大的线程相等时表示线程池中所有的线程已经完成 if (workerThreads == maxWordThreads){//当执行此方法后CheckThreadPool将不再执行 rhw.Unregister(null);//此处加入所有线程完成后的处理代码}}
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-04-08
//检查线程池的方法 private voidCheckThreadPool(object state, bool timeout){int workerThreads = 0; int maxWordThreads = 0; //int int compleThreads = 0; ThreadPool.GetAvailableThreads(out workerThreads, out compleThreads); ThreadPool.GetMaxThreads(out maxWordThreads, out compleThreads); //当可用的线数与池程池最大的线程相等时表示线程池中所有的线程已经完成 if (workerThreads == maxWordThreads){//当执行此方法后CheckThreadPool将不再执行 rhw.Unregister(null);//此处加入所有线程完成后的处理代码}}
相似回答