请给我建议,避免新进入的数据处于这种等待状态
(我正在使用Java 1.7,tomcat7和SQL Server2012)
先谢谢您
请让我知道,如果不清楚的话,以获取更多信息
答案 0 :(得分:0)
您的每个线程都应批量处理数据(例如100/1000条记录),并且应按优先级从数据库中选择此记录。每次选择新记录以处理优先级最高的数据时,都将排在第一位。
我还不能创建评论:(
答案 1 :(得分:0)
对于这个问题,我们正在考虑两种解决方案
但是我不知道哪种解决方案最适合我的情况1或2
请给我有关上述解决方案的建议,以便我可以做出决定
答案 2 :(得分:0)
您可以使用ExecutorService newCachedThreadPool()
使用缓存的线程池的好处:
如果需要,该池将创建新线程,但如果有可用的话,将重用以前构造的线程。
仅当没有线程可供重用时,才会创建新线程并将其添加到池中。
未使用超过60秒的线程将终止并从缓存中删除。因此,未使用足够长时间的池将不会消耗任何资源。