Dan*_*elB 9 java multithreading
我有一个拥有数百个线程的系统.大多数线程在给定时间内正在睡觉或等待,但他们可以随时醒来.我想减少专用于我的系统的OS线程数.你知道一个简单的方法吗?例如,是否存在线程池包,只要线程进入睡眠模式,它就会存储状态并终止线程.每当它醒来时,它就会以旧状态启动新线程.
谢谢
hel*_*hod 10
你在找ThreadPoolExecutor之类的东西吗?
ExecutorService,使用可能的多个池化线程之一执行每个提交的任务,通常使用Executors工厂方法配置.
线程池解决了两个不同的问题:由于减少了每个任务的调用开销,它们通常在执行大量异步任务时提供更高的性能,并且它们提供了一种绑定和管理资源(包括线程)的方法,这些资源在执行集合时消耗任务.每个ThreadPoolExecutor还维护一些基本统计信息,例如已完成任务的数量.