• CLR线程池


    WaitCallback 表示要在 ThreadPool 线程上执行的回调方法。 创建委托,方法是将回调方法传递给 WaitCallback 构造函数。 您的方法必须具有此处所显示的签名。


    如果想使用线程池中的工作线程排队执行一个方法,可以使用ThreadPool.QueueUserWorkItem()方法。这个方法被重载的方法可以让你传递一个可选的object类型的自定义状态数据给waitCallBack委托实例

     public class Program
        {
            //出现的问题:dish类与其他两类的对应关系
            //多线程针对的是什么,共享那块怎么处理
            static void Main(string[] args)
            {
                Console.WriteLine("-----------------------------");
              //  Console.WriteLine(Thread.CurrentThread.ManagedThreadId);
                WaitCallback callback = new WaitCallback(new printer().Print);
                for (int i = 0; i < 10; i++)
                {
                    ThreadPool.QueueUserWorkItem(callback,i);
                }
                    Console.ReadLine();
            }
            
        }
        public class printer
        {
          public  void Print(object obj)
            {
                lock (this)
                {
                    if (Convert.ToInt32(obj) < 5)
                    {
                        Console.WriteLine(obj.ToString()+" 在等待");
                        Monitor.Wait(this);
                        Console.WriteLine(obj.ToString());
                    }
                    else
                    {
                        Monitor.PulseAll(this);
                        Console.WriteLine(obj.ToString());
                    }
                }
             
           
            }
        }

    线程池的好处:

    1. 减少了线程创建、开始和停止的次数,提高了效率。
    2. 能够使我们将注意力放到业务逻辑上而不是多线程架构上。

    然而,在某些特殊情况应优先使用手工线程管理。比如:

    1. 如果需要前台线程或设置优先级别,或者线程池中的线程总是后台线程,且它的优先级是默认的
    2. 如果需要有一个带有固定标志的线程便于退出、挂起或通过名字发现它
  • 相关阅读:
    zabbix (2.0.6) 历史记录处乱码
    centos 关闭防火墙
    android 带边框的圆角按钮
    Android开发如何在4.0及以上系统中自定义TitleBar
    Android配置时,点击eclipse里Window->Preferences里的android选项出错
    .net 内存泄露检测工具
    UVA 548 Tree
    UVA 536 Tree Recovery
    UVA 514 Rails
    UVA 442 Matrix Chain Multiplication
  • 原文地址:https://www.cnblogs.com/wangzhenghua/p/4448598.html
Copyright © 2020-2023  润新知