线程池的概念运与完整代码示例.docVIP

  • 3
  • 0
  • 约1.26万字
  • 约 11页
  • 2016-11-25 发布于贵州
  • 举报
线程池的概念与完整代码示例 最近在网上学习了线程池的概念和使用方法,因此想趁着自己空闲的时候,拿出来给大家分享一下。文章如有不当之处,还望多多指正,个人邮箱:helpylee@126.com Thanks. 线程池引入的必要性: 在网络服务器中,包括大量的web服务器,它们都需要在单位时间内必须处理相当数目的接入请求以及数据处理。通常在传统多线程服务器中是这样实现的:一旦有个请求到达,就创建一个线程,由该线程执行任务,任务执行完毕后,线程就退出。这也就是通常所说的及时创建,及时销毁策略。在现代计算机中,尽管创建线程的时间已经大大缩短,但是如果提交给线程的任务是执行时间较短,而且次数非常的频繁,那么服务器就将处于一个不停创建于销毁线程的状态下,这将是一笔不小的开销。尤其是在线程执行的时间非常短的情况。 线程池就是为了解决上述问题的,它的实现原理是这样的:在应用程序启动之后,就马上创建一定数量的线程,放入空闲的队列中。这些线程都是处于阻塞状态,这些线程只占一点内存,不占用CPU。当任务到来后,线程池将选择一个空闲的线程,将任务传入此线程中运行。当所有的线程都处在处理任务的时候,线程池将自动创建一定的数量的新线程,用于处理更多的任务。执行任务完成之后线程并不退出,而是继续在线程池中等待下一次任务。当大部分线程处于阻塞状态时,线程池将自动销毁一部分的线程,回收系统资源。 线程池概念 下面

文档评论(0)

1亿VIP精品文档

相关文档