Есть ли что-то похожее на Stackless Python в C#?

Есть ли что-то похожее на Stackless Python, то есть фреймворк, который поддерживает продолжения, микропотоки и облегченные процессы в C#? Я знаю, что C# 5 будет частично поддерживать некоторые из этих функций. Но есть ли что-нибудь, что можно использовать прямо сейчас?

3 ответа

Решение

Axum похож, но был официально удален как проект от Microsoft:

http://msdn.microsoft.com/en-us/devlabs/dd795202

У меня есть запись в блоге, показывающая основные подпрограммы на работе:

http://adamhouldsworth.blogspot.com/2009/05/microsoft-axum-playtime.html

Я понятия не имею, была ли какая-либо из этих идей перенесена в параллельную работу, которая шла в.NET 4 или async материал намечен на C# следующий.

Его можно использовать прямо сейчас, и он работает - но в некоторых небольших областях функция не завершена и не поддерживается в производственной среде, поскольку это (был?) Инкубационный проект.

Взгляните на это на CodeProject (он может удовлетворить ваши требования "облегченного процесса"):

http://www.codeproject.com/KB/cs/managediocp.aspx

Обновление: эта ссылка описывает поток данных TPL, в инфраструктуру.NET добавлено больше примитивов для поддержки программирования на основе агентов. Это снова может быть в области, которая вас интересует:

http://blogs.msdn.com/b/pfxteam/archive/2010/10/28/10081950.aspx

Мой ответ на этот вопрос поможет вам начать. Я использую метод итератора (yield return) реализовать простую сопрограмму, чтобы в WPF происходила последовательность анимаций. Последовательность сможет использовать любой вид зацикливания и т. Д. Это действительно только использование функций C# 2.0.

Вы имеете в виду что-то вроде параллельных расширений PLINQ.NET Framework?

Перечислительные блоки AFAIK в C# очень похожи на продолжения, но я не эксперт по python.

Другие вопросы по тегам