小编eya*_*yal的帖子

C#中的协同程序

我正在寻找在c#中实现协同例程(用户调度线程)的方法.使用c ++时我使用的是光纤.我在互联网上看到C#中不存在光纤.我想获得类似的功能.

有没有"正确"的方法在c#中实现协同程序?

我曾想过使用在调度程序线程上获取单个执行互斥锁+ 1的线程来实现它,该线程为每个协同程序释放这个互斥锁.但这似乎非常昂贵(它强制每个协程之间的上下文切换)

我也看过了yield迭代器的功能,但据我所知,你不能在内部函数中产生(仅在原始的ienumerator函数中).所以这对我有点好处.

c# coroutine fiber

40
推荐指数
4
解决办法
5万
查看次数

SortedDictionary.Count的成本

SortedDictionary.Countc#的成本是多少?它是检索某个整数,还是在树上迭代?

c#

2
推荐指数
1
解决办法
229
查看次数

标签 统计

c# ×2

coroutine ×1

fiber ×1