Поток Безопасный метод? - PullRequest
2 голосов
/ 01 марта 2012

У меня есть класс со следующим статическим методом:

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;
    }

Ответы [ 2 ]

1 голос
/ 01 марта 2012

Вы используете только локальные переменные и выполняете только чтение в базе данных.На мой взгляд, это безопасно.

1 голос
/ 01 марта 2012

Если предположить, что конструктор для Content не делает ничего удивительного (читай: небезопасно для многопоточности), то да, для меня он выглядит поточно-безопасным.

...