1

いくつかの URL からいくつかのものを解析し、データベースにデータを挿入します。これを並行して行いたいと思います。スレッド プールを作成し、別のスレッドでリンクを実行します。しかし、それは安全ではありません。Web からデータを取得し、次のようにデータベースに保存する同期方法を決定しました。

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

しかし、このアプローチは、現在のスレッドがデータを解析して挿入するまで (これが彼の作業の 99% です)、他のスレッドの Web およびデータベースへのアクセスをブロックしているため、それらは並列ではなく 1 つずつ実行されているようです。

このような場合のより良い解決策を教えていただけますか?

4

1 に答える 1

5

DBに同時実行性と、それを制御する方法をJDBCトランザクション分離レベルで処理させる必要があります。

于 2012-11-02T12:47:56.910 に答える