gpt4 book ai didi

.net - 为什么 SynchronizedCollection 在 System.ServiceModel 程序集中?

转载 作者:行者123 更新时间:2023-12-04 12:56:09 29 4
gpt4 key购买 nike

我想知道是否有人知道为什么 SynchronizedCollection 类是在 ServiceModel 程序集中实现的。我看不到程序集名称和这个(相对)通用类之间的任何联系。

最佳答案

这个类非常具体,它的名字甚至可能会产生误导——它的内部实现几乎什么都不做,除了在 Insert 中包装一些操作(AddClearIndexOflock (this.sync) {} 等)。 block ,这并没有使它真正同步(参见 this article 中描述的问题 - 简而言之,像 LINQ FirstOrDefault 这样的复合操作在 SynchronizedCollection 上不是线程安全的,因为它们不获取锁)。

它在 ServiceModel 中大量使用组装本身,可能是由 public只是因为一些ServiceModel类公开这种类型的公共(public)属性。

所以我的猜测是:它被放入 ServiceModel程序集,因为它实际上并不属于 BCL,而只是内部 ServiceModel 的 DRYish BCL 命名空间扩展需要。

关于.net - 为什么 SynchronizedCollection<T> 在 System.ServiceModel 程序集中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6315406/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com