Я готовлю приложение, в котором один производитель создает несколько миллионов задач, которые затем обрабатываются настраиваемым количеством потребителей. Связь от производителя к потребителю (вероятно) будет основана на очереди.Java-производитель/потребитель, обнаруживающий конец обработки
Из потока, который запускает продюсер/создает задачи, какой метод я могу использовать для ожидания выполнения всех задач? Я бы предпочел не возобновлять периодический опрос, чтобы проверить, пуста ли моя очередь задач. В любом случае пустая очередь задачи не является гарантией завершения последних задач. Эти задачи могут быть относительно длительными, поэтому вполне возможно, что очередь пуста, пока потребительские потоки все еще успешно обрабатывают.
Rgds, Маартен
Хммм, интересная идея. Для этого потребуется дополнительный поток, который читает очередь отчетов. Этот поток отчетов может затем уведомлять поток производителя о каком-либо объекте монитора. –
Нить производителя может прочитать эту очередь перед продолжением. –