Одно соединение с базой данных для каждого потока? - PullRequest
0 голосов
/ 17 мая 2011

Я сделал веб-сканер, и каждый поток постоянно вставляет страницы и ссылки. У меня должно быть соединение с базой данных на поток или одно соединение с ними?

Ответы [ 2 ]

4 голосов
/ 17 мая 2011

Обычно вы справляетесь с такой ситуацией, используя какой-то пул соединений с базой данных, который может управлять временем ваших соединений с базой данных за вас.В Java для этого часто используется библиотека Apache Commons DBCP , хотя, если вы используете другие платформы, они могут иметь встроенную функциональность.

0 голосов
/ 18 мая 2011

Также рассмотрите возможность разделения сканирования с вводом-выводом базы данных с шаблоном потребителя-производителя, если это возможно.Это позволит позже настроить количество потоков искателя (производителей) и потоков ввода-вывода соединения с базой данных (потребителей).Вы можете использовать ограниченную очередь блокировки для передачи / распространения работы от сканеров к авторам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...