ThreadPool随记

ThreadPool随记

池化的思想是在2.0时才开始的,享元模式重用一些对象,单例模式

线程池是包在程序线程和提供线程最外面的外壳,每次用的时候首先会到线程池中进行线程的获取,使用完以后再把该线程还回去(传统的Thread是每次进行线程的创建和销毁,这是很耗资源的)。

  • 线程总数量的管理:如果线程池里默认线程是一千个,那么外面的线程请求最多只能分配1000个,多出的请求只能排队,不是想要多少要多少,当别人还回来以后才能将此线程分配给你。
  • 线程的重用:每次使用以后不是进行销毁,而是将此线程返还。当别人需要时再将此线程给过去,这样就减少了线程销毁和创建时所浪费的资源,提升性能节约资源。
  • 加快速度:当线程池启动时,就会默认创建好几个可调用的线程,当前有请求来时就会直接将此线程给他,这就节省了现创建的问题,当调用多了以后发现自己的池中线程不够,它就会去通过请求应用程序线程和系统线程进行新线程的创建,以便后面的请求使用。当发现线程都换回来以后它会自动销毁线程,但是这个销毁不会影响到应用的运行。
    默认的线程数量
    在这里插入图片描述
    默认的线程数量

可以使用ManualResetEvent等待线程执行完毕以后再继续执行,阻塞当前线程。充当信号量的角色。
线程池中的使用如下:
在这里插入图片描述
异步委托中的使用
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xvhua4317yahoo/article/details/84287188