• CLR via C# 读书笔记 11 何时使用线程或者线程池


    一般来说在尽可能的情况下使用线程池

    除了以下的4个情况

    1. 需要手动控制线程运行在非默认的优先级上(不推荐)
    2. 需要表现为前台线程
    3. 需要长时间的运行一个任务
    4. 想要手动控制一个线程的生命周期(例如Abort)


    -------------------------------

    其实我觉得还有两个重要的方面

    线程池是全局共享的,也就是说一个程序往线程池里面塞入一些任务 ,那么必然会影响到其他人

    极端的情况,就是你占用了所有的线程池中的对象,而其他程序就无法正常运行了(包括.net本身的一些线程)

    那么关键就是

      不要长时间或者大量占用线程池,除非能够确定当前程序是这个服务器上最重要的程序

      在较大压力的服务器上,或者你预期程序会消耗大量的资源,最好自己实现一个可控制的线程池(例如CodeProject上面的一些开源实现),这样你可以更好的控制和调度系统资源的使用.

         



  • 相关阅读:
    java设计模式--桥接模式
    java设计模式--单例模式
    java设计模式--迭代器模式
    java设计模式--组合模式
    java设计模式--备忘录模式
    java设计模式--适配器模式
    洛谷P1464 Function
    洛谷P2434 [SDOI2005]区间
    p1416攻击火星
    p1359租用游艇
  • 原文地址:https://www.cnblogs.com/PurpleTide/p/1875745.html
Copyright © 2020-2023  润新知