执行JDBC批量操作

时间:2015-08-31 05:46:57

标签: java jdbc

我有一个批量的JDBC操作,可以逐步进行(PostgreSQL 9.4 jdbc driver)。该操作可能会持续20-30秒。现在我需要了解正在执行操作的线程会发生什么。我认为它只是sleptbeing await,直到DB服务器开始将数据发送回JVM。所以,我试着在调试器中检查它,现在我不确定。以下是我为测试编写的示例(为简单起见,我使用了spring):

public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("classpath:/applicationContext.xml");
        final Dao dao = (Dao) context.getBean("dao");
        Thread t = new Thread(new Runnable() {
            public void run() {
                Thread.currentThread().setName("Bulk Operation");
                dao.executeBulk(); //1, The bulk operation
            }
        });
        t.start();
    }

我将breakpoin设置为//1,恢复后我在调试器中看到以下内容:

enter image description here

所以似乎Bulk thread既不是asleep也不是awaiting

当sql-server准备要发送的数据时,线程实际上做了什么? JVM花了多少资源来管理线程?

0 个答案:

没有答案