如果我的类中有TimeSpan的属性,那么多个线程(读写)都可以访问 在阅读/写作时我是否必须锁定某些内容? 把lock(_some_object)放在get和set中吗?
我已经读过属性不是线程安全的。但我不知道它是如何与结构特别相关的。 我想要的是在写入属性并同时读取它时避免意外行为或崩溃。 我也读了很多关于原子性,不变性的内容。
但我仍然不确定我是否必须关注我的具体案例。
我必须做这样的事吗?
public TimeSpan MinDataTimeStep
{
get
{
lock (mMinDataTimeStepLock)
{
return mMinDataTimeStep;
}
}
set
{
lock (mMinDataTimeStepLock)
{
mMinDataTimeStep = value;
}
}
}