gpt4 book ai didi

c# - 我可以跨项目使用 "lock"吗?

转载 作者:行者123 更新时间:2023-11-30 14:35:35 27 4
gpt4 key购买 nike

我有一个项目和一个类库。

我需要类库来更新存储项目。在我的项目中,我需要访问这些存储项目。我可以在不同项目的同一个实例上使用 lock 吗?这行得通吗?

最佳答案

只要您锁定的是真正相同的对象,就绝对可以正常工作。如果您使用不同的 AppDomain,事情会变得更复杂,但如果只是(比如说)项目 A 和项目 B 锁定最初来自项目 C 的对象,那应该不是问题。

至少,它在技术上 是可行的。就个人而言,我通常更喜欢尽可能保持锁的私密性 - 例如,与其锁定 this 或从其他地方获得的引用,我通常会创建一个对象,其唯一目的 正在锁定:

public class Foo
{
private readonly object mutex = new object();

...
}

这样我就知道可以获取该锁的唯一代码是Foo中的代码。它使锁更容易推理。

关于c# - 我可以跨项目使用 "lock"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11914396/

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