lock(X) vs lock(typeof(X))
本文关键字:lock typeof vs | 更新日期: 2023-09-27 18:15:02
锁定类的类型与锁定类本身之间的区别是什么?
例如:private readonly object xmpp = new object();
lock (xmpp)
{
...
}
和
lock (typeof(Xmpp))
{
...
}
-
lock(x)
为类型 的每个实例在不同的锁上同步 lock(typeof(X))
为类型 的所有实例在同一锁上同步。
始终锁定私有锁对象:
public class X
{
private readonly Object _lock = new Object();
// ...
lock (_lock)
{
}
如果必须同步对类静态成员的访问,使用相同的模式:
public class X
{
private readonly static Object s_lock = new Object();