.net中是否有光纤api?

时间:2009-12-22 20:48:09

标签: c# .net fiber

出于好奇心,我一直在寻找一套C#/ .net类来支持光纤/协同例程(the win32 version)而且没有任何运气。

有人知道这样的野兽吗?

3 个答案:

答案 0 :(得分:11)

没有。框架中没有Fiber API。我怀疑这是因为使用它们几乎没有优势 - 即使是fiber API page(本机)提及:

  

通常,光纤不能提供优于精心设计的多线程应用的优势。

.NET使开发“设计良好”的多线程应用程序变得更加容易,我怀疑它对光纤API的用处很少。

答案 1 :(得分:8)

你见过这个:

标题“通过包装非托管光纤API实现.NET的协同程序”
在2003年9月的MSDN杂志上发表文章

http://msdn.microsoft.com/en-us/magazine/cc164086.aspx

答案 2 :(得分:7)

如果我没记错的话,.NET 2测试版中就有一个,但它被删除了。 Eric Lippert写了关于纤维和延续的文章,并说他们选择了最小的必要(link)。

有多种方法可以使用迭代器和yield来建立协程系统,请参阅this link。来自Joe Duffy的another one