我正在阅读有关线程和锁定的内容.通常的做法是你不能(不应该)锁定值类型.
所以问题是,锁定值类型的推荐方法是什么?我知道有几种方法可以做一件事,但我还没有看到一个例子.虽然在MSDN论坛上有一个很好的主题,但我现在似乎无法找到它.
谢谢
使用另一个对象进行锁定.
int valueType; object valueTypeLock = new object(); void Foo() { lock (valueTypeLock) { valueType = 0; } }
你的问题措辞是这样的,它告诉我你并不完全理解锁定.您没有锁定数据,您可以锁定以保护数据的完整性.你锁定的对象是无关紧要的.重要的是,您锁定代码的其他区域中的同一对象,以更改受保护的数据.