出于好奇心,我一直在寻找一套C#/ .net类来支持光纤/协同例程(the win32 version)而且没有任何运气。
有人知道这样的野兽吗?
答案 0 :(得分:11)
没有。框架中没有Fiber API。我怀疑这是因为使用它们几乎没有优势 - 即使是fiber API page(本机)提及:
通常,光纤不能提供优于精心设计的多线程应用的优势。
.NET使开发“设计良好”的多线程应用程序变得更加容易,我怀疑它对光纤API的用处很少。
答案 1 :(得分:8)
你见过这个:
标题“通过包装非托管光纤API实现.NET的协同程序”
在2003年9月的MSDN杂志上发表文章
答案 2 :(得分:7)
如果我没记错的话,.NET 2测试版中就有一个,但它被删除了。 Eric Lippert写了关于纤维和延续的文章,并说他们选择了最小的必要(link)。
有多种方法可以使用迭代器和yield来建立协程系统,请参阅this link。来自Joe Duffy的another one。