【发布时间】:2017-01-30 19:38:50
【问题描述】:
因为只有引用类型和一些原语(包括浮点数,但不是双精度数,我不确定原因,我很高兴听到为什么)可以声明为易失性,如果我将双精度封装在一个类中然后将其声明为 volatile(如下所示),double 属性是否会像任何其他 volatile 一样是“读写”线程安全的,还是我仍然应该关注锁定?
public class MyThreadedClass
{
volatile VolatileDouble voldub;
}
public class VolatileDouble
{
public double Double { get; set; }
}
【问题讨论】: