【发布时间】:2015-01-12 11:06:14
【问题描述】:
我有一个关于锁定 c# 的问题。 c# 是否锁定对象的实例或成员。
如果我有以下代码:
lock(testVar)
{
testVar = testVar.Where(Item => Item.Value == 1).ToList();
//... do some more stuff
}
即使我将testVar 设置为新值,c# 是否保留锁?
【问题讨论】:
-
为什么需要重新分配锁?
-
@VsevolodGoloviznin 重新分配锁是什么意思?我重新分配
testVar。 -
为什么要使用正在使用的变量作为锁?
-
查看msdn关于锁的文章:msdn.microsoft.com/en-us/library/c5kehkcz.aspx
-
你读过这个
Best practice is to define a private object to lock on, or a private static object variable to protect data common to all instances.吗?
标签: c# .net multithreading locking