java:如何同步访问db?

时间:2012-11-02 12:42:17

标签: java concurrency

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

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

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

你能说出这样的事情有什么更好的解决方案吗?

1 个答案:

答案 0 :(得分:5)

您应该让DB为您处理并发性以及通过JDBC transaction isolation levels

控制的方式