zoukankan      html  css  js  c++  java
  • ThreadPool学习草稿1

    原文发布时间为:2010-10-27 —— 来源于本人的百度文章 [由搬家工具导入]

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Threading;

    namespace TestThreadPool
    {
        class Program
        {
            static object locker = new object();
            static int runningThreads = 0;

            static void Main(string[] args)
            {
                try
                {
                    ThreadPool.SetMaxThreads(4, 4); //设置最大线程数 using System.Threading;

                    runningThreads = 10;
                    for (int i = 0; i < runningThreads; i++)
                    {

                        ThreadPool.QueueUserWorkItem(new WaitCallback(Auto), i);//线程池指定线程执行Auto方法
                    }

                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                int iWhileNumber = 0;

                lock (locker)
                {
                    while (runningThreads > 0)
                    {
                        Monitor.Wait(locker);
                        iWhileNumber++;
                    }
                }
                Console.WriteLine("结束了,共循环了" + iWhileNumber + "次");
                //Environment.Exit(0);
                Console.ReadLine();
            }

            public static void Auto(object i)//多线程执行的方法
            {
                try
                {
                    int d = 4 / (int)i;
                    if (string.Equals(i, 2))
                    {
                        Thread.Sleep(1000);
                    }
                    Console.WriteLine(i.ToString());
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                finally
                {
                    lock (locker)
                    {
                        runningThreads--;
                        Monitor.Pulse(locker);
                    }
                }
            }
        }
    }

  • 相关阅读:
    社群电商
    文字超出部分省略号显示······
    jq监听页面的滚动事件,
    input 更改 pleaseholder 的字体样式
    20161213 scrapy安装
    map按照value排序的方法
    Qt跨线程信号和槽的连接
    C++ map指针的使用
    Python 高级进阶
    [转]解读C指针(5)——笔试题解析
  • 原文地址:https://www.cnblogs.com/handboy/p/7163961.html
Copyright © 2011-2022 走看看