gpt4 book ai didi

locking - 监控与锁定的区别?

转载 作者:行者123 更新时间:2023-12-04 01:53:25 24 4
gpt4 key购买 nike

monitor 和有什么区别和一个 lock ?

如果锁只是互斥的实现,那么监视器是否只是利用方法执行之间的等待时间的一种方式?

一个好的解释会非常有帮助,谢谢....

问候

最佳答案

例如,在 C# .NET 中,lock 语句等效于:

Monitor.Enter(object);
try
{
// Your code here...
}
finally
{
Monitor.Exit(object);
}

但是,请记住 Monitor 也可以 Wait()Pulse() ,这在复杂的多线程情况下通常很有用。

编辑:
在 .NET 框架的更高版本中,这已更改为:
bool lockTaken = false;
try
{
Monitor.Enter(object, ref lockTaken);
// Your code here...
}
finally
{
if (lockTaken)
{
Monitor.Exit(object);
}
}

关于locking - 监控与锁定的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/902213/

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