由于只有引用类型和一些基元类型(包括 float,但不包括 double)可以声明为 volatile。如果我将 double 包装在一个类中,然后将其声明为 volatile(如下所示),那么 double 属性是否与任何其他 volatile 一样“读写”线程安全,还是我仍然应该考虑使用锁定?
public class MyThreadedClass
{
volatile VolatileDouble voldub;
}
public class VolatileDouble
{
public double Double { get; set; }
}