2017-02-11 23 views
0

Мне нужно работать над задачей, в которой я наблюдаю за каталогом с помощью службы watcher, теперь, когда в каталог вносятся какие-либо новые файлы, я создаю поток с помощью службы-исполнителя threadpool. Я хочу знать класс потока, который у меня есть, содержит логику для чтения и сохранения этих данных в базе данных, Нужен ли мне какой-либо синхронизирующий блок или метод синхронизации?Java несколько файлов разные темы

Примечание: У меня есть отдельный поток для каждого файла.

ответ

0

Простой ответ: если эти разные потоки могут вызвать «согласованность данных» при параллельном запуске, вам необходимо синхронизировать их работу.

Если нет проблем с тем, что эти потоки делают, вам не нужно их синхронизировать.

Улов здесь: это ваш код, ваши требования. You - это человек, который знает, что делают эти потоки; и как они манипулируют содержимым вашей базы данных.

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

+0

Да, я согласен с вашим ответом, просто ищу мнение. Поэтому, хотя у меня разные темы для разных файлов, и они читают и сохраняют индивидуально, и этот класс будет иметь независимые экземпляры, я не думаю, что ему нужен какой-либо блок или метод синхронизации? –

+0

Опять же: на самом деле не имеет значения, откуда ваши данные, но куда они собираются. Если данные из разных потоков попадают в строки данных SAME, у вас, скорее всего, возникнет проблема. Если ваш код всегда создает полностью независимые записи, то не так много. – GhostCat

 Смежные вопросы

  • Нет связанных вопросов^_^