Я не знаю ответа на ваш вопрос, но в отношении времени выполнения с параллелизмом и координацией - на самом деле есть более простые альтернативы (также основанные на yield return
). Я написал одну статью об этом давным-давно, и есть также библиотека "PowerThreading" Джефри Рихтерса, которая удивительно проста и мощна (и использует тот же прием).
Чтобы ответить на вопрос, было бы технически возможно иметь что-то наподобие асинхронных рабочих процессов F # в C # - я бы сказал, да - это на самом деле идея, очень похожая на итераторы (и, как вы можете видеть, вы можете использовать итераторы C # для Асинхронное программирование уже!), но есть некоторые интересные проблемы, которые нужно решить.