The*_*hos 4 c# multithreading locking
我在一个类中有这个代码:
private static MyObject _locker = new MyObject();
...
lock (_locker)
{
...
_locker = new MyObject();
...
}
Run Code Online (Sandbox Code Playgroud)
它会锁定_locker吗?
不,它不会.从C#规范(重点是我的):
形式的锁定语句,
lock (x) ...其中x是引用类型的表达式,精确等效于Run Code Online (Sandbox Code Playgroud)System.Threading.Monitor.Enter(x); try { ... } finally { System.Threading.Monitor.Exit(x); }除了x只评估一次.
由于x没有重新评估锁定将被释放.
| 归档时间: |
|
| 查看次数: |
705 次 |
| 最近记录: |