Как вы думаете, асинхронные рабочие процессы F # будут введены в C # в будущем? - PullRequest
3 голосов
/ 18 февраля 2010

Прежде всего, я прошу прощения из-за моего глупого вопроса, я действительно не знаю много о F #. Но я знаю, что это значительно облегчает обработку потоков. Однако, увидев языковую конструкцию, кто-то может задаться вопросом, почему в C # не хватает крутости асинхронных рабочих процессов? Какое теоретическое ограничение имеет C #, препятствующее внедрению вышеупомянутой функции?

Ответы [ 3 ]

5 голосов
/ 18 февраля 2010

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

Чтобы ответить на вопрос, было бы технически возможно иметь что-то наподобие асинхронных рабочих процессов F # в C # - я бы сказал, да - это на самом деле идея, очень похожая на итераторы (и, как вы можете видеть, вы можете использовать итераторы C # для Асинхронное программирование уже!), но есть некоторые интересные проблемы, которые нужно решить.

1 голос
/ 22 марта 2011
1 голос
/ 18 февраля 2010

Всегда есть координация и параллелизм , который обеспечивает подобный стиль в C #, но создает немного странный код из-за необычного использования ключевого слова yield.Он оказался чрезвычайно удобным для обработки потоков в C #, и я бы порекомендовал его для всего, что требует не только простой координации потоков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...