FCL Stack类线程安全及其版本字段

时间:2013-06-18 04:49:50

标签: c# .net stack fcl

我在FCL中发现了一个奇怪的Stack类实现。 正如我所看到的,Stack类提供了SyncRoot属性,旨在允许外部用户阻止整个集合并以线程安全的方式使用它。但是随着SyncRoot的发现,我在修改操作(Push,Pop,Clear)时发现了一个由Stack类递增的私有字段_version。 StackEnumerator类使用此字段来检查循环集合时是否有任何更改。 但真是太棒了!无处不在Stack类通过一元运算符++递增版本而不使用Interlock类。所以我安静地不明白版本字段的意图是什么?

0 个答案:

没有答案