zoukankan      html  css  js  c++  java
  • C# 应用

    IEnumerable<int> intList = Enumerable.Range(1, 15);
    
    foreach (int i in intList)
    {
        ThreadPool.QueueUserWorkItem(w =>
        {
            Console.WriteLine("ThreadPool:" + Thread.CurrentThread.ManagedThreadId.ToString());
        });
    }
    
    foreach ( int i in intList)
    {
        new Thread(new ThreadStart(() =>
        {
            Console.WriteLine("Thread:" + Thread.CurrentThread.ManagedThreadId.ToString());
        })).Start();
    }
    

    结果:

    Thread:16
    Thread:10
    ThreadPool:4
    ThreadPool:9
    ThreadPool:9
    ThreadPool:9
    ThreadPool:9
    ThreadPool:9
    ThreadPool:9
    ThreadPool:9
    ThreadPool:9
    ThreadPool:9
    Thread:17
    Thread:18
    Thread:19
    Thread:20
    Thread:21
    Thread:22
    Thread:23
    Thread:24
    ThreadPool:4
    ThreadPool:6
    ThreadPool:5
    ThreadPool:7
    ThreadPool:8
    Thread:12
    Thread:13
    Thread:14
    Thread:15
    

    如果有大量的任务需要处理,例如处理 http 请求时如果对每个请求都创建一个后台线程,会占用大量的内存,而且频繁的创建也会影响速度。而线程池会把创建的线程存起来,形成一个线程池
    因此:处理简单的耗时任务时,我们可以使用线程池技术来处理,而不是手动开辟线程来处理耗时任务.

  • 相关阅读:
    如何面试程序员?
    类似猪八戒网的网站
    存储过程
    一个不错的网站(博客制作参考)
    用触发器来实现级联更新级联删除
    用触发器进行级联删除
    数据库触发器详解
    浅谈数据库中的存储过程
    JDBC连接数据库
    Java递归函数
  • 原文地址:https://www.cnblogs.com/MichaelLoveSna/p/14507484.html
Copyright © 2011-2022 走看看