题目分析:其他内容正在学习中…
【答案】
-
为什么需要线程池?
如果没有线程池,我们平常所创建的线程在运行结束后都会被虚拟机销毁,如果任务数量多的话,频繁的创建和销毁线程会浪费大量时间,降低任务效率,创建过多的线程也会使内存开销吃紧。
线程池是一种异步化技术,通过预先创建线程/异步处理来提高响应速度。同时通过统一调配线程资源,可以降低线程的重复创建问题,提高线程的利用率,中心化管理有利于对资源的有效控制,防止滥用。 -
线程池有什么优势?
线程池运用的思想就是“以空间换时间”,牺牲一定的内存,来换取任务效率:
(1)降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗;
(2)提高系统响应速度,当有任务到达时,通过复用已存在的线程,无需等待新线程的创建便能立即执行;
(3)方便线程并发数的管控。因为线程若是无限制的创建,可能会导致内存占用过多而产生OOM,并且会造成cpu过度切换(cpu切换线程是有时间成本的(需要保持当前执行线程的现场,并恢复要执行线程的现场))。
(4)提供更强大的功能,延时定时线程池。
【题目拓展】
暂无