码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2014-07-26 17:08:12      阅读:311      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   for   art   cti   代码   

 1 start:
 2 
 3             System.Threading.RegisteredWaitHandle rhw = null;
 4             new Action(() =>
 5             {
 6                 for (var i = 0; i < 30; i++) {
 7                     new Action<int>((index) =>
 8                     {
 9                         System.Threading.Thread.Sleep(1000);
10                         Console.WriteLine(System.Threading.Thread.CurrentThread.Name + "执行完毕" + index);
11                     }).BeginInvoke(i, null, null);
12                 }
13             }).BeginInvoke(null, null);
14             rhw = System.Threading.ThreadPool.RegisterWaitForSingleObject(new System.Threading.AutoResetEvent(false), new System.Threading.WaitOrTimerCallback((obj, b) =>
15             {
16                 int workerThreads = 0;
17                 int maxWordThreads = 0;
18                 //int  
19                 int compleThreads = 0;
20                 System.Threading.ThreadPool.GetAvailableThreads(out workerThreads, out compleThreads);
21                 System.Threading.ThreadPool.GetMaxThreads(out maxWordThreads, out compleThreads);
22                 //Console.WriteLine(workerThreads);
23                 //Console.WriteLine(maxWordThreads);
24                 //当可用的线数与池程池最大的线程相等时表示线程池中所有的线程已经完成 
25                 if (workerThreads == maxWordThreads)
26                 {
27                     //当执行此方法后CheckThreadPool将不再执行 
28                     rhw.Unregister(null);
29                     //此处加入所有线程完成后的处理代码
30                     Console.WriteLine("f");
31                     rhw = null;
32                 }
33             }), null, 100, false);
34             while (rhw != null) { }
35             System.Threading.Thread.Sleep(10000) ;
36             goto start;
37             Console.WriteLine("finished");

 

C#如何判断线程池中所有的线程是否已经完成之Demo,布布扣,bubuko.com

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

标签:style   blog   color   io   for   art   cti   代码   

原文地址:http://www.cnblogs.com/yomho/p/3870221.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!