Будущее Java и бесконечные вычисления
Я пытаюсь оптимизировать (бесконечный) алгоритм вычислений.
У меня есть infinte Sum для вычисления ( Summ_{n-> infinity} (....)). Моя идея состояла в том, чтобы создать несколько потоков, используя конструкцию Future < >, а затем объединить промежуточные результаты вместе. Моя проблема в том, что мне нужна определенная точность. Поэтому мне нужно постоянно вычислять текущий результат, в то время как другие потоки продолжают вычислять.
Мой вопрос: существует ли какая-то очередь результатов, в которую каждый законченный поток может поместить свои результаты, в то время как основной поток может получить эти результаты, а затем либо разрешить продолжение вычислений, либо завершить весь ExecutorService?
Любая помощь будет принята с благодарностью! Спасибо!
1 ответ
Может быть, очередь блокировки ( http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html)? Основной поток может блокировать это до получения частичного результата, а затем обновлять итоговое значение.