Предположим, у вас есть следующий код в веб-приложение Play:Параллелизм в Play для Scala
class MyClass extends Controller {
def myMethod = Action {
var a = 0
while (a < 1000) {
println("Value of a: " + a);
a = a + 1;
}
}
}
Могу ли я иметь состояние гонки, если два пользователя/браузеры вызывать тот же метод? Если да, то как этого избежать?
В этом случае переменная 'a' является локальной для потока, которая выполняет' '' '' '' '' '' '' '' '' '' ', поэтому ответ ** нет **. Если 'a' было объявлено как * поле * контроллера, то, конечно, у него было бы состояние гонки. Еще один способ ввести проблемы - сделать более '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ',' –
@ insan-e, но это применимо только в том случае, если контроллер является одиночным. Если он создается вместо запроса, тогда проблем не должно быть. –