Мне нужно прочитать около 200 000 записей с сайта и сохранить их в БД.Приложение представляет собой настольное приложение, реализованное поверх платформы NetBeans Rich Client.Используя библиотеку Apache HttpComponent, я могу отправить запрос на веб-сайт и получить ответ, содержащий информацию о записи;затем с помощью регулярных выражений я могу довольно легко извлечь дюжину нужных мне полей из HTML.
Я думаю иметь 2 рабочих потока помимо потока GUI.Один рабочий поток обрабатывает часть запроса / ответа HTTP, а также извлекает запись из HTML с помощью регулярных выражений;в то время как другой рабочий поток сохраняет записи в БД.Таким образом, будет структура данных для хранения записей, чтобы ее можно было разделить между двумя рабочими потоками.Я также рассматриваю возможность иметь буфер размером 100 (например) для рабочего потока HTTP для хранения записей, а когда буфер заполнен, передавать 100 записей одновременно владельцу общих записей.
Пожалуйста, прокомментируйте мой дизайн, а также мои вопросы:
- Какова правильная структура данных для хранения записей?
- как синхронизировать его между двумя рабочими потоками?
- как бы реализовать многопоточность в модульной системе Netbeans Platform?