Если у меня есть это:
public string DoSomething(string arg)
{
string someVar = arg;
DoStuffThatMightTakeAWhile();
return SomeControl.Invoke(new Func<string>(() => someVar));
}
И этот метод можно вызывать одновременно из нескольких потоков, а один поток застревает в DoStuffThatMightTakeAWhile
, а затем второй поток вызывает DoSomething
с другим arg
, это изменит значение someVar
для все потоки и, следовательно, DoSomething
возвращают вторую версию someArg
для обоих вызовов или один someVar
существует для каждого потока?
Изменить Я думаю, что мой Action
должен был отредактировать Func
.