Fra*_*Nel 18 c# multithreading thread-safety
如果创建一个只读静态成员,如下所示:
public sealed class MyClass
{
public readonly static MyClass Instance = new MyClass();
}
Run Code Online (Sandbox Code Playgroud)
我们知道如果某个线程第一次访问MyClass,静态构造函数将初始化MyClass.Instance字段.但是,如果多个线程同时访问MyClass(即静态字段线程安全的初始化),是否会创建单个实例(在本例中为MyClass)?
C#语言的规范保证类初始化是线程安全的,因此只会MyClass创建一个实例.您必须自己从那时起确保线程安全.这是一个MSDN参考:
http://msdn.microsoft.com/en-us/library/aa645612.aspx
| 归档时间: |
|
| 查看次数: |
6682 次 |
| 最近记录: |