Java: Каков наилучший способ использовать один и тот же объект для нескольких потоков? - PullRequest
0 голосов
/ 27 апреля 2019

Я пытаюсь записать несколько файлов из списка объектов.

  1. Поэтому я беру object1 и записываю из него 5 файлов.

  2. Захватить объект 2, добавить эти файлы снова.

  3. Захватить объект 3, добавить эти же файлы и т. Д. И т. Д.

Я использую для каждого цикла для записи в файлы, и это занимает очень много времени, так как каждый объект имеет тонну информации.

кто-то сказал мне использовать блокировочную очередь для хранения каждого объекта и создания потока для каждого файла, который я пишу.Но для записи каждого файла каждый файл должен использовать один и тот же объект в списке.

Насколько я понимаю, блок-очередь заполняется, как только объект вынимается.

Таким образом, Thread1 возьмет object1 для записи своего файла, и к тому времени, когда Thread2 должен будет записать свой файл, очередь блокировки уже будет иметь новый объект, поскольку Thread1 использовал первый.Мне нужно написать 5 файлов для каждого объекта, чтобы Object1 никогда не достигал Thread2. Я прав?Или каков наилучший способ сделать что-то подобное этой работе?

Большое спасибо.

Я пытался просмотреть другие вопросы, связанные со стековым потоком, но ни один из них не очень полезен, когда дело касается моеговыпуск.

...