Будущее Java и бесконечные вычисления

Я пытаюсь оптимизировать (бесконечный) алгоритм вычислений.

У меня есть infinte Sum для вычисления ( Summ_{n-> infinity} (....)). Моя идея состояла в том, чтобы создать несколько потоков, используя конструкцию Future < >, а затем объединить промежуточные результаты вместе. Моя проблема в том, что мне нужна определенная точность. Поэтому мне нужно постоянно вычислять текущий результат, в то время как другие потоки продолжают вычислять.

Мой вопрос: существует ли какая-то очередь результатов, в которую каждый законченный поток может поместить свои результаты, в то время как основной поток может получить эти результаты, а затем либо разрешить продолжение вычислений, либо завершить весь ExecutorService?

Любая помощь будет принята с благодарностью! Спасибо!

1 ответ

Решение

Может быть, очередь блокировки ( http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html)? Основной поток может блокировать это до получения частичного результата, а затем обновлять итоговое значение.

Другие вопросы по тегам