zoukankan      html  css  js  c++  java
  • C#线程池

    using System;
    using System.Threading;
    public class ThreadTest
    {
        static double number1 = -1;
        static double number2 = -1;
        public static void Main()
        {
            int maxThreadNum, portThreadNum;
            int minThreadNum;
            ThreadPool.GetMaxThreads(out maxThreadNum, out portThreadNum);
            ThreadPool.GetMinThreads(out minThreadNum, out portThreadNum);
            Console.WriteLine("最大线程数:{0}", maxThreadNum);
            Console.WriteLine("最小线程数:{0}", minThreadNum);
            int x = 15600;
            Console.WriteLine("启动第一个任务:计算{0}的8次方", x);
            //ThreadPool.QueueUserWorkItem方法在线程池中创建一个线程池线程
            //来执行指定的方法(用委托WaitCallback来表示),并将该线程排入线程
            //池的队列等待执行。
            ThreadPool.QueueUserWorkItem(new WaitCallback(TaskProc1), x);//x作为TaskProc1方法的参数   
            Console.WriteLine("启动第二个任务:计算{0}的8次方根", x);
            ThreadPool.QueueUserWorkItem(new WaitCallback(TaskProc2), x);
            while (number1 == -1 || number2 == -1) ;  //如果两个数字有任意一个不变化,
            //说明最少有一个线程没运行完继续循环直至线程池中所有线程运行完。
            Console.WriteLine("y({0})={1}", x, number1 + number2);
        }
        static void TaskProc1(object o)
        {
            number1 = Math.Pow(Convert.ToDouble(o), 8);
        }
        static void TaskProc2(object o)
        {
            number2 = Math.Pow(Convert.ToDouble(o), 1.0 / 8.0);
        }
    }

  • 相关阅读:
    sql优化-使用exists代替distinct
    count(*),count(1),count(c_bh)效率问题
    nulls last和null first
    连表更新
    postgresql-删除重复数据保留一条
    postgresql批量插入
    pg中join,left join的使用,将条件放到on和where后面的区别问题
    pg关于not in和not exists的使用
    postgresql关于in和exists使用
    postgresql无序uuid性能测试
  • 原文地址:https://www.cnblogs.com/zztong/p/6695205.html
Copyright © 2011-2022 走看看