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);
        }
    }

  • 相关阅读:
    psp4
    一维循环数组最大子数组求解
    psp3
    psp2
    求二维数组最大连续子数组
    计算连续最大子数组问题
    psp1
    关于30道题目问题
    Java 文件操作
    java iterator
  • 原文地址:https://www.cnblogs.com/zztong/p/6695205.html
Copyright © 2011-2022 走看看