Я обнаружил, что существует простой пул потоков, используемый JVM для параллельной обработки потоков. У нас была блокированная функция ввода-вывода на большом потоке, которая вызывала проблемы с живимостью для несвязанных и в противном случае быстрых функций, используемых с несвязанными параллельными потоками.Исправление потока потоковой обработки потока
В потоке нет методов, позволяющих использовать альтернативный пул потоков.
Есть ли простой способ избежать этой проблемы, возможно, каким-то образом определить, какой пул потоков использовать?
Возможный дубликат [Пользовательский пул потоков в Java-параллельном потоке] (http://stackoverflow.com/questions/21163108/custom-thread-pool-in-java-8-parallel-stream) – mkobit
Есть трюк - предлагается в вышеупомянутом вопросе, но вы должны иметь в виду, что потоки - это прежде всего механизм распараллеливания * вычислений *, а не * IO *, и поэтому вы работаете на полях. Мы изучаем способы довести некоторые из этих вариантов использования в большей части. –
@BrianGoetz, в то время как у меня есть ваше ухо, рассмотрите расширение API, возможно, параметр для метода 'parallel()', который позволяет использовать отдельный пул потоков для параллельной обработки потока. Некоторые вычисления также тяжелы и могут вызывают проблемы с живительностью. Хотя я вижу, что «очень длинные» времена (например, IO) выходят за рамки дизайна, достаточно естественным образом использовать потоки для управления этим использованием, и IMHO должен быть простым способом смягчить влияние такого вида использования , Для меня это нарушило правило Джоша «наименьшее удивление». Веселый Xmas :) – Bohemian