【发布时间】:2017-07-30 06:25:10
【问题描述】:
例如——
Object obj = new Object();
然后我用lock(obj)锁定一个部分
我也锁定了其他部分lock(obj)
如果一个线程在第一个部分,是否意味着另一个部分也被锁定?
【问题讨论】:
标签: c# multithreading locking
例如——
Object obj = new Object();
然后我用lock(obj)锁定一个部分
我也锁定了其他部分lock(obj)
如果一个线程在第一个部分,是否意味着另一个部分也被锁定?
【问题讨论】:
标签: c# multithreading locking
锁定是在对象上完成的,而不是在代码的部分或位置上。如果一个线程在第一个位置获取锁,则第二个线程不能在任何地方获取它 - 既不能在同一个位置,也不能在任何其他位置。
【讨论】: