gpt4 book ai didi

c# - ThreadLocal 属性

转载 作者:行者123 更新时间:2023-12-03 19:39:53 33 4
gpt4 key购买 nike

如果我们有一个 ThreadLocal 属性(每个线程都有其唯一的属性),那么哪个是正确的(我们不想使用自动 setter/getter):

A)

private ThreadLocal<MyClass> _someProperty = new ThreadLocal<MyClass>();

public ThreadLocal<MyClass> SomeProperty
{
get
{
return _someProperty.Value;
}
set
{
_someProperty.Value = value;
}
}

B)

private ThreadLocal<MyClass> _someProperty = new ThreadLocal<MyClass>();

public MyClass SomeProperty
{
get
{
return _someProperty.Value;
}
set
{
_someProperty.Value = value;
}
}

最佳答案

我假设您想要封装 ThreadLocal<T> ,这样调用者只需要知道 MyClass ;在这种情况下,您仍然需要访问.Value明确地,因为这就是每线程魔法发生的地方:

private readonly ThreadLocal<MyClass> _someProperty = new ThreadLocal<MyClass>();

public MyClass SomeProperty
{
get { return _someProperty.Value; }
set { _someProperty.Value = value; }
}

关于c# - ThreadLocal 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5851893/

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