struct(TimeSpan)类型的属性是否安全?

时间:2014-10-21 14:36:44

标签: c# multithreading properties thread-safety timespan

如果我的类中有TimeSpan的属性,那么多个线程(读写)都可以访问 在阅读/写作时我是否必须锁定某些内容? 把lock(_some_object)放在get和set中吗?

我已经读过属性不是线程安全的。但我不知道它是如何与结构特别相关的。 我想要的是在写入属性并同时读取它时避免意外行为或崩溃。 我也读了很多关于原子性,不变性的内容。

但我仍然不确定我是否必须关注我的具体案例。

我必须做这样的事吗?

public TimeSpan MinDataTimeStep
{
    get 
    {
        lock (mMinDataTimeStepLock)
        {
            return mMinDataTimeStep;
        }
    }
    set
    {
        lock (mMinDataTimeStepLock)
        {
            mMinDataTimeStep = value;
        }
    }
}

0 个答案:

没有答案