gpt4 book ai didi

c# - 如何检查当前代码是否为 "inside"锁?

转载 作者:太空狗 更新时间:2023-10-29 18:34:44 25 4
gpt4 key购买 nike

我有一些代码可以从锁的内部调用。我需要在锁内做一些事情。代码本身不知道从哪里调用它。所以,我需要这样的东西:

lock (MyLock) {
if (INSIDE_LOCK) ...
}

我知道这听起来很奇怪和错误,但我需要它来解决兼容性问题。否则,我将不得不重写大量代码,因为我没有测试,所以这样做是有风险的。

最佳答案

试试 Monitor 类:

 if (Monitor.IsEntered(MyLock)) {...}

自(见下面的 René Vogt 评论)lock

 lock(MyLock) {
...
}

实际上是

的语法糖
 Monitor.Enter(MyLock);

try {
...
}
finally {
Monitor.Leave(MyLock);
}

关于c# - 如何检查当前代码是否为 "inside"锁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38746622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com