前面我已经实现了一个Singleton类,它对Singleton实例使用了双重锁定机制,但是我们在双锁代码上得到了一个SonarLint错误Double-checked locking should notsingleton = new Singleton(); } return singleton;}
为了解决这个问题但是在将此字段作为易失性SonarLint生成错误Non-primitive fields should not be "volatile&qu
您不能将double、long、DateTime、任何可空结构或任何其他结构声明为volatile (如果可以的话,它将无法工作,因为写入不是原子的),但在我的特殊情况下,我需要一个volatlie,原子编写的我编写了这个简单的类,以确保写入是原子的。如果您接受如下副本,则它将始终具有写入前的值或写入后的值,而不会有任何不完整的值。/// A T?