C#中是否有与Stackless Python类似的东西?

时间:2011-03-22 16:40:03

标签: c# .net-4.0 stackless python-stackless

是否有类似Stackless Python的内容,即支持C#中的continuation,microthreads和轻量级进程的框架?我知道C#5将部分支持这些功能。但是现在有什么东西可以使用吗?

3 个答案:

答案 0 :(得分:2)

Axum与此类似,但已被正式删除为Microsoft的一个项目:

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

我有一篇博文显示了工作中的基本合作例程:

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

我不知道是否有任何这些想法被推广到.NET 4中的并行工作或C#next的async内容。

它现在可以使用,并且有效 - 但是在某些小区域中功能不完整,而且在生产环境中不支持,因为它(是?)是一个孵化项目。

在CodeProject上查看一下(它可能会解决您的“轻量级进程”要求):

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

更新:此链接描述了TPL数据流,为了支持基于代理的编程,添加到.NET框架的更多原语。它可能也在你感兴趣的领域:

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

答案 1 :(得分:1)

My answer to this question可能会帮助您入门。我使用迭代器方法(yield return)来实现一个简单的协同程序,以便在WPF中发生一系列动画。该序列将能够使用任何类型的循环等。这实际上只使用C#2.0功能。

答案 2 :(得分:0)

你的意思是类似于.NET框架的并行扩展PLINQ吗?

C#中的AFAIK枚举器块很像延续,但我不是python的专家。