多线程010--为什么要使用线程池

java创新线程需要占用大量资源,需要JVM和操作系统配合完成大量工作。

1.必须为线程分配和初始化大量内存,其中包含至少1MB的栈内存。

2.需要进行系统调用,以便在OS中创建和注册本地线程。

Java高并发应用频繁创建和销毁线程的操作是非常低效的,而且是不被编程规范所允许的。

 

线程池可以降低java创建线程的成本,它主要解决了以下两个问题:

1.提升性能:

线程池能独立负责线程的创建、维护和分配。在执行大量异步任务时,可以不需要自己创建线程,而是将任务交给线程池去调度。

线程池尽可能使用空闲的线程去执行异步任务,最大限度地对已经创建的线程进行复用,使得性能明显提升。

2.线程管理:

每个java线程池会保持一些基本的额线程统计信息,例如完成任务数量、空闲时间等,以便对线程进行有效管理,事得任务可以高效的调度。

上一篇:MVC验证13-2个属性至少输入一项


下一篇:MS17-010漏洞利用