Как вы думаете, лучший способ получить результаты работы потока? Представьте себе тему, которая выполняет некоторые вычисления, как вы предупреждаете основную программу о выполненных вычислениях?
Вы можете опросить каждые X миллисекунды для какой-либо публичной переменной под названием "job finished" или что-то кстати, но затем вы получите результаты позже, чем когда они будут доступны... основной код будет терять время ожидания для них. С другой стороны, если вы используете более низкий X, CPU будет тратить столько времени на опрос.
Итак, что вы делаете, чтобы знать, что Thread или некоторые потоки завершили свою работу?
Извините, если он похож на этот question, вероятно, причина для ответа eben, я полагаю. Я имел в виду, что работает много потоков и знаю, когда все они закончили, не опросив их.
Я больше думал о том, как распределять нагрузку на процессор между несколькими процессорами, используя партии потоков, и знать, когда пакет закончил. Я полагаю, это можно сделать с помощью Будущих объектов, но метод блокировки get выглядит очень похож на скрытую блокировку, а не на что-то, что мне нравится.
Спасибо всем за вашу поддержку. Хотя мне также понравился ответ erickson, я думаю, что saua самый полный, и тот, который я буду использовать в своем собственном коде.