【发布时间】:2016-12-04 20:56:23
【问题描述】:
下面的场景需要不同的想法,假设从Statement的execute()方法得到一个ResultSet对象,这个ResultSet对象可能包含数千条记录,这里我更新每个ResultSet对象的数据到 DTO 对象中。
得到了List<MyDTO> myDTOList,现在我想在一个线程中处理每个 DTO,一次最多处理 5 个线程,即 5 个 DTO 对象。
(剩余的 DTO 应该等待完成至少一个线程执行,如果一个线程完成它的工作想要添加另一个线程,所以它又是 5 个线程正在运行.. 所以进程将继续所有 DTO 对象)
有哪些可用的方法来实现这种要求?
提前感谢您的时间和建议。
【问题讨论】:
-
这有点像atm机器的实时场景,里面有5台atm机器,但数百名用户正在等待访问它。但一次只有 5 个可以访问。
标签: java multithreading threadpool executorservice threadpoolexecutor