日常开发中我们经常使用线程池去提升程序的性能。通过池化的思想进行线程复用、管理,可以降低系统资源消耗、提升系统响应速度、减少系统处理耗时。
熟悉服务器端开发的同学都知道,Web 服务器在接收客户端请求时,通常不会采取来一个请求就新建一个线程处理的方式。虽然这种方式实现起来简单易懂,但是如果并发的请求数非常多,并且每个请求的实际处理耗时又非常短,那么就会导致频繁地创建和销毁线程,这将大大降低系统的性能。因为线程切换是有成本的,CPU 需要保存当前执行线程的上下文,并且后期还要恢复执行线程的上下文,即所谓的“上下文切换开销”。
线程池则为多线程创建的开销和资源不足问题提供了解决方案。通过多任务下线程的重用,将线程创建的开销摊薄到了多任务上,取得了高并发环境下系统性能上的提升。
在本场 Chat 中将会讲到如下内容:
适合人群:Java 前后端开发人员。想深入理解、掌握线程池的使用、配置,在项目中需要自定义线程池的开发人员。
绑定成功
预订达标,作者开始写作
审核未达标,本场 Chat 终止
审核达标,文章发布
审核未达标,本场 Chat 终止