1

我从几个 url 解析一些东西并在数据库中插入数据。我现在想并行执行此操作。我创建了一个线程池并在单独的线程中运行链接。但这并不安全。我决定从网络获取数据并将其保存到数据库的同步方法,如下所示:

            synchronized (this) {
                Parser parser = new Parser(link);
                feeds = parser.parse();
                model.insertFeeds(feeds, link);
            }

但是这种方法阻止了其他线程对 web 和数据库的访问,直到当前线程解析数据并插入(这是他工作的 99%),所以它们似乎不止一个一个地执行,而不是并行执行。

你能告诉这样的事情更好的解决方案是什么吗?

4

1 回答 1

5

您应该让 DB 为您处理并发,控制的方式是通过JDBC 事务隔离级别

于 2012-11-02T12:47:56.910 回答