我可以像我在当前代码中描述的那样使用它吗?
private void Increment() { lock(LockObject) { // edit // listofObjects.Add(someInfo); // new edit ---> here listofObjects.Add(new SomeInfoObject() { Account = Interlocked.Increment(ref result),// ... other properties } // Interlocked.Increment(ref result); } }
解决方法
使用Interlocked类时不需要锁定.
MSDN说,
增加指定的变量并将结果存储为原子操作.