【发布时间】:2012-09-07 09:11:34
【问题描述】:
我了解Interlocked.Increment 和lock() 的功能。但我对何时使用其中一种感到困惑。据我所知,Interlocked.Increment 增加了共享 int/long 值,而lock() 旨在锁定代码区域。
例如,如果我想更新字符串值,可以使用lock():
lock(_object)
{
sharedString = "Hi";
}
但是,Interlocked 类无法做到这一点。
- 为什么不能通过
Interlocked完成? - 这些同步机制有什么区别?
【问题讨论】: