いくつかの URL からいくつかのものを解析し、データベースにデータを挿入します。これを並行して行いたいと思います。スレッド プールを作成し、別のスレッドでリンクを実行します。しかし、それは安全ではありません。Web からデータを取得し、次のようにデータベースに保存する同期方法を決定しました。
synchronized (this) {
Parser parser = new Parser(link);
feeds = parser.parse();
model.insertFeeds(feeds, link);
}
しかし、このアプローチは、現在のスレッドがデータを解析して挿入するまで (これが彼の作業の 99% です)、他のスレッドの Web およびデータベースへのアクセスをブロックしているため、それらは並列ではなく 1 つずつ実行されているようです。
このような場合のより良い解決策を教えていただけますか?