当前位置:  开发笔记 > 编程语言 > 正文

收益率是否可以折返?

如何解决《收益率是否可以折返?》经验,为你挑选了0个好方法。

可以yield return从多个线程调用静态类中的静态函数来安全地返回IEnumerable吗?

public static IEnumerable FooClassObjects()
{
    foreach (FooClassWrapper obj in listOfFooClassWrappers)
    {
        yield return obj.fooClassInst;
    }
}

调用它的每个线程是否总是会收到对集合中每个对象的引用?在我的情况下listOfFooClassWrappers,在程序开始时写入一次,所以我不需要担心在调用此函数期间它会发生变化.我写了一个简单的程序来测试这个,我没有看到任何问题的迹象,但是线程问题可能很难被解决,并且这个问题可能在我做的运行期间根本没有显示出来.

编辑:C#线程安全的收益率回报?是类似的,但解决了迭代过程中修改集合的情况.由于隐藏的共享迭代器,因为类和方法都是静态的,所以我的关注更多地涉及多个线程,每个线程只获得集合的一部分.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有