Скажи, что у меня есть
public static class M
{
public static string Concat(string a, string b)
{
return N.AddOne(a, b);
}
public static string Concat2(string a, string b)
{
return SomeThreadSafeMethod(a, b);
}
}
public static class N
{
public static string AddOne(string a, string b)
{
return a+b+1;
}
}
Является ли M.Concat потокобезопасной операцией?
Что насчет M.Concat2? Возможно ли, чтобы SomeThreadSafeMethod получил вызов с другим a или b в многопоточном контексте?
Причина, по которой я задаю этот вопрос, заключается в том, что я хочу лучше понять, как C # справляется с потоками, особенно
для дела M.Concat2.
Во-вторых, я работаю с Asp.net MVC, и меня беспокоит, что когда я вызываю Html.ActionLink или RouteLink с маршрутом с переменной
что-то простое, например
Html.ActionLink("Test", "Index", "Test", new { Model.Id, Model.State})
Когда несколько пользователей переходят на одну и ту же страницу, каждый из них получает различное состояние. Если это не потокобезопасно, то я могу вернуться другим маршрутом, чем предполагалось.