Если у меня есть параллельный поток в java 8, и я заканчиваю с anyMatch, и моя коллекция имеет элемент, который соответствует предикату, я пытаюсь выяснить, что происходит, когда один поток обрабатывает этот элемент.
Я знаю, что anyMatch имеет короткое замыкание, поэтому я не ожидал, что последующие элементы будут обработаны после обработки соответствующего элемента. Моя путаница связана с тем, что происходит с другими потоками, которые предположительно находятся в середине элементов обработки. Я могу думать о 3 вероятных сценариях: а) Они прерваны? б) Продолжают ли они обрабатывать элемент, над которым они работают, а затем, когда все нити ничего не делают, я получаю свой результат? c) Получил ли я свой результат, но потоки, которые обрабатывали другие элементы, продолжали обрабатывать эти элементы (но не брать другие элементы после их завершения)?
У меня длинный предикат, где очень полезно быстро завершить работу, как только я узнаю, что один элемент соответствует. Я немного беспокоюсь, так как я не могу найти эту информацию в документации, что она может быть зависимой от реализации, что также было бы полезно знать.
Спасибо