标签: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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。