Это хорошая идея, чтобы прочитать строки файла с параллельными потоками Java 8? - PullRequest
0 голосов
/ 09 октября 2018

Это хорошая идея, чтобы прочитать строки файла с параллельными потоками Java 8?Каждая строка является URL-адресом, поэтому задача состоит в том, чтобы

  1. Считать URL-адрес
  2. Подключиться к соответствующему URL-адресу
  3. Сохранить ресурс в соответствующую папку

Иногда использование параллельных потоков приводит к таинственным ошибкам, так ли это прямой случай использования параллельных потоков?

1 Ответ

0 голосов
/ 09 октября 2018

Зависит от того, что если в вашем файле нет нескольких строк, параллельная обработка может не принести вам никакой пользы по двум причинам: 1) потому что вся эта параллельная инфраструктура недешева и 2) потому что поток не знает, скольколинии, которые есть у File.Таким образом, он будет читать строки и создавать буфер для каждого Spliterator (чанка), IIRC начинает с 1024 строк и добавляет 1024 и т. Д. Таким образом, параллель может оказаться очень дорогой и, скорее всего, не принесет пользытакой случай.Если, с другой стороны, у вас есть огромные файлы ... Измерьте, чтобы понять, действительно ли вам нужно parallel

Также обратите внимание, что вы собираетесь сделать какой-то ввод-вывод, и параллель не является хорошей идеей для этого.

...