多线程----线程池(ThreadPool)
作者:互联网
1. 线程(Thread)的缺陷
线程资源是操作系统管理的,响应并不灵敏,所以没那么好控制;Thread启动线程是没有控制的,可能导致死机(就是可以随便开启一个新线程)
2.线程池(TheadPool)
创建线程是昂贵的操作,所以为每个短暂的异步操作创建线程会产生显著的开销。一般情况下,都会使用池,也就是线程池进行管理。
线程池可以成功地适应于任何需要大量短暂的开销大的资源。实现分配一定的资源,将这些资源放入到资源池中。每次需要新的资源,只需要从池中
获取一个,不需要创建新的,当该资源不再被使用时,就将其返回到池中。
在.net中,线程池可以使用ThreadPool类型,受.net通用语言运行时(CLR)管理。每个CLR都有一个线程池实例。ThreadPool类型拥有一个QueueUseWoekItem静态方法。
该方法接收一个委托,
线程池:池化资源管理设计思想,线程是一种资源,之前每次要使用线程,就去申请一个线程,使用完之后,释放掉;池化就是做一个容器,容器提前申请多(5)个线程,
程序需要使用线程,直接找容器获取,用完后再放回容器(控制状态),避免频繁的申请和销毁;容器还会根据限制的数量去申请和释放。
线程池的优点:
(1)线程复用 (2)可以限制最大线程数量
缺点:
ThreadPool的API太少了,导致线程等待顺序控制特别弱,影响实战
标签:ThreadPool,容器,申请,----,线程,使用,多线程,资源 来源: https://www.cnblogs.com/hobelee/p/16439901.html