c# - 线程安全方法?

标签 c# multithreading methods static thread-safety

我有一个具有以下静态方法的类:

public static Content GetContentById(int id)
{
    Content c = null;

    string sql = "SELECT QUERY";

    using (SqlDataReader dr = SqlHelper.ExecuteReader(Constants.ConnectionString, CommandType.Text, sql, new SqlParameter("@id", id)))
    {
          if (dr.HasRows && dr.Read())
          {
               c = new Content(dr.GetInt32(0));
          }
    }

    return c;
 }

现在,我已经阅读了一些有关线程的内容,在我看来它应该是安全的,因为它只使用局部变量而不是在全局状态下操作对象/成员?

有人可以帮我确认一下吗?

编辑:包含内容构造函数

    public Content(int Id)
    {
        this.Id = Id;
    }

最佳答案

假设 Content 的构造函数没有做任何令人惊讶的事情(阅读:多线程不安全),那么是的,它对我来说看起来是线程安全的。

关于c# - 线程安全方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9519249/

相关文章:

c# - 为什么 MultiFieldQueryParser 比手动创建查询慢得多?

javascript - 使用Javascript的动态gridview的多列列总和

c# - 在 C# 中转换 Func<T,T> 类型的对象时出现问题

java - 能否通过WeakReference检索弱可达对象

java - 在 RxJava 流程中添加线程池

python - 从 ThreadPoolExecutor 调用时对 urllib.request.urlopen 的异常调用会留下打开的文件描述符

ios - 从不同的 UIViewController 调用方法

c# - 在 C# 中处理粘贴事件

java - log4j属性配置问题

java - 限制或阻止方法的实现