Sun*_*nil 4 .net c# static-methods thread-safety
我注意到.Net框架文档的大多数地方都有以下声明.
问题:这个秘诀是什么?我不认为静态类总是线程安全的.我的问题涉及.Net框架中可用的标准类,而不是开发人员创建的自定义类.

下面的静态类中的方法'GetString'是否是线程安全的,因为该方法是一个静态方法?
public static class MyClass
{
static int x = 0;
static MyClass()
{
x = 23;
}
public static string GetString()
{
x++;
return x.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
您提到的框架方法不是线程安全的,因为它们是静态的,但因为它们是专门设计为线程安全的.线程安全通常很难实现,但它通常是静态方法所必需的,因为它们变异的任何状态都是在线程之间共享的.
您发布的示例方法不是线程安全的,因为它会改变线程之间共享的状态,而不使用任何同步机制.
| 归档时间: |
|
| 查看次数: |
672 次 |
| 最近记录: |