我正在为Android构建一个移动应用程序,我需要为每个List适配器汇集HTTP请求。我基本上想要一个“崩溃”的ExecutorService
实现,即:它将使用最多 n 个线程,但是当线程完成时,它们将立即过期,使其非常轻量级。如果需求量很大,它只会将任务转储到队列中,等待线程变为可用。有没有办法在没有自己写ExecutorService
的情况下做到这一点,或者我应该把手弄脏并做到这一点?
答案 0 :(得分:3)
将ThreadPoolExecutor
的keepAliveTime
设置为零可以使用{{3}}吗?
e.g。
int core = 5;
int max = 20;
new ThreadPoolExecutor(core, max, 0, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>())
来自setKeepAliveTime()
的文档:
时间值为零将导致多余的线程在执行任务后立即终止。