Я пытаюсь элегантно обрабатывать случай, когда асинхронный рабочий поток создает как результат, так и (возможно) идентифицирует больше работы, которая должна быть выполнена. Чтобы думать об этом по-другому, если вы проходите дерево и выполняете работу на каждом узле, рабочий обрабатывает узел посередине дерева и обнаруживает дочерние узлы, которым требуется сама работа.Что такое шаблон проектирования для асинхронной работы, которая может принести больше работы?
Разве разумный дизайн рабочего потока для добавления дополнительных заданий в очередь заданий? Это потребовало бы, чтобы работник знал что-то о системе параллелизма, частью которой она является, что, по-видимому, нарушает какое-то неписаное правило для меня. Как еще эта проблема была решена?