如果创建只读的静态成员,可以这样做:
答案:是,静态字段的初始化是线程安全的,会创建一个单独的实例。
public sealed class MyClass
{
public readonly static MyClass Instance = new MyClass();
}
我们知道,如果某个线程第一次访问MyClass,则静态构造函数将初始化MyClass.Instance字段。 但是,如果多个线程同时访问MyClass(即静态字段的初始化是否线程安全),那么是否会创建一个单独的实例(在这种情况下为MyClass)?答案:是,静态字段的初始化是线程安全的,会创建一个单独的实例。
Mutex
或其他方式)。 - Andre Calil