我有一个 decimal
变量,可以同时从多个线程访问。 Interlocked
类函数根本不支持小数,所以我剩下的唯一方法是使用 lock(){}
。这似乎有点矫枉过正。
是否有其他方法以线程安全的方式将值添加到 decimal
变量?
最佳答案
使用锁并不过分。这是必需的。
像 System.Decimal 这样的结构类型从来都不是原子的,它也不适合 native cpu 字长。这就是为什么 Interlocked 也没有过载的原因。
关于c# - 如何以线程安全的方式增加(增加值)小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19517311/