zoukankan      html  css  js  c++  java
  • 线程基础,线程池 clr via c# 读书笔记(2)

    因为线程是非常宝贵的资源,在创建和销毁线程是一个昂贵的操作需要耗费大量时间,且大量的线程会浪费内存资源,CLR 包含了代码来管理自己的线程池。

    CLR 线程池,线程池自动管理线程的创建和销毁。线程池所创建的线程,将为各种任务而分配。CLR初始化的时候,线程池中没有线程在内部维护了一个操作请求队列,应用程序执行一个异步操作时,就调用某个方法,将一个记录项追加到线程池的队列中。线程池的代码从这个队列中提取记录项,将这个记录项派发给一个线程池线程。如果线程池中没有线程,会创建线程虽然会造成一定性能的损失,然而当线程池线程完成任务后,线程不会被销毁。而是返回到线程池,在里面进入空闲状态,等待响应另一个请求。由于线程不销毁自身,所以不再产生额外的性能损失。

    如果应用程序 向线程池发出许多请求,线程池会尝试只用一个线程来服务所有请求。如果请求速度超过线程池线程处理他们的速度,就会创建额外的线程。最终,应用程序的所有请求都由少量线程处理。如果应用程序停止向线程池发送请求,线程池中的线程在一段时间后CLR 会主动终止线程。

    线程池可以使得你的应用程序和软件 响应灵敏 伸缩性强且更加的可靠。

  • 相关阅读:
    2018-2-26 php、mysql数据库制作简单的商城购物车
    2018-2-8 租房信息的增删改和搜索
    2018-2-6 留言板的制作
    ztree连接数据库问题总结
    织梦cms
    MySQLDB.class.php
    类和对象
    构造、析构;重写;设计模式;单例;抽象;重载
    类、面向对象、类的继承
    css 区块与盒子模型
  • 原文地址:https://www.cnblogs.com/MasterLin/p/13669377.html
Copyright © 2011-2022 走看看