了解 JProfiler 线程

Understanding JProfiler Threads

我正在开发一个 Spring 批处理应用程序,它从 Oracle 数据库中获取数据。它包含大约 20L 的数据。我实现了 AsynchronousTaskExecutor,并发限制为 20,节流限制为 10。对于数据源,它是 - spring.datasource.max-active=50

以下是我的应用程序的线程图 (JProfiler)。它显示更多线程处于阻塞和等待状态。我想明白为什么会这样。另外,如何提高批处理的性能?

您必须使用“监视器和锁定”部分中的视图来获取有关锁定部分的更多信息。如果您在那里记录监视器,线程视图(在您的屏幕截图中)将有工具提示以及等待和阻塞状态的堆栈跟踪。