zoukankan      html  css  js  c++  java
  • C#如何判断线程池中所有的线程是否已经完成之Demo

    start:
    
                System.Threading.RegisteredWaitHandle rhw = null;
                new Action(() =>
                {
                    for (var i = 0; i < 30; i++) {
                        new Action<int>((index) =>
                        {
                            System.Threading.Thread.Sleep(1000);
                            Console.WriteLine(System.Threading.Thread.CurrentThread.Name + "执行完毕" + index);
                        }).BeginInvoke(i, null, null);
                    }
                }).BeginInvoke(null, null);
                rhw = System.Threading.ThreadPool.RegisterWaitForSingleObject(new System.Threading.AutoResetEvent(false), new System.Threading.WaitOrTimerCallback((obj, b) =>
                {
                    int workerThreads = 0;
                    int maxWordThreads = 0;
                    //int  
                    int compleThreads = 0;
                    System.Threading.ThreadPool.GetAvailableThreads(out workerThreads, out compleThreads);
                    System.Threading.ThreadPool.GetMaxThreads(out maxWordThreads, out compleThreads);
                    //Console.WriteLine(workerThreads);
                    //Console.WriteLine(maxWordThreads);
                    //当可用的线数与池程池最大的线程相等时表示线程池中所有的线程已经完成 
                    if (workerThreads == maxWordThreads)
                    {
                        //当执行此方法后CheckThreadPool将不再执行 
                        rhw.Unregister(null);
                        //此处加入所有线程完成后的处理代码
                        Console.WriteLine("f");
                        rhw = null;
                    }
                }), null, 100, false);
                while (rhw != null) { }
                System.Threading.Thread.Sleep(10000) ;
                goto start;
                Console.WriteLine("finished");
  • 相关阅读:
    【k8s】Volume-persistentVolumeReclaimPolicy
    【k8s】Volume-pv
    【k8s】Secret-生成环境变量
    【k8s】Volume-nfs
    【k8s】Volume-hostPath
    【k8s】Volume-emptyDir
    【k8s】Volume-downwardAPI
    【k8s】Volume-Secret
    【k8s】Volume-ConfigMap-file
    SQL SERVER 列转行
  • 原文地址:https://www.cnblogs.com/waw/p/8420933.html
Copyright © 2011-2022 走看看