gpt4 book ai didi

c# - 何时使用锁定的指南

转载 作者:可可西里 更新时间:2023-11-01 02:59:34 25 4
gpt4 key购买 nike

我想知道是否有开发人员应遵循的关于何时(和何处)放置锁的指南。

例如:我理解像这样的代码应该被锁定,以避免另一个线程意外更改 SomeHeapValue 的值的可能性。

class Foo
{
public SomeHeapObject myObject;
public void DoSummat(object inputValue_)
{
myObject.SomeHeapValue = inputValue_;
}

}

但是,我的问题是,锁定有多深?例如,如果我们有这样的代码:

class Foo
{
public SomeHeapObject myObject;
public void DoSummat(object inputValue_)
{
myObject.SomeHeapValue = GetSomeHeapValue();
}

}

我们应该锁定在 DoSummat(...) 方法中,还是应该锁定在 GetSomeHeapValue() 方法中?

在构建多线程代码时,你们是否都牢记任何准则?

最佳答案

我找到的关于锁定和线程的最佳指南是这个页面(这是我在使用锁定和线程时引用的文本):

http://www.albahari.com/threading/

你想要“锁定和线程安全”这一段,但也请阅读其余部分,它写得非常好。

关于c# - 何时使用锁定的指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2779703/

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