Что значит иметь метод синхронизированного экземпляра в классе действий Struts 1? - PullRequest
0 голосов
/ 04 мая 2011

Я хотел бы проверить, что значит иметь метод синхронизированного экземпляра в классе действий Struts 1?

Что-то вроде

public synchronized String checkAction(){ ... } 

1 Ответ

4 голосов
/ 04 мая 2011

Это означает, что метод checkAction будет синхронизироваться встроенной блокировкой объекта Object (блокировка объекта класса Action).Таким образом, только один поток за раз сможет получить доступ к методу checkAction.

В Struts 1 класс Action не является потокобезопасным.Таким образом, несколько потоков (например, обслуживающих несколько запросов) будут обращаться к одному и тому же экземпляру класса Action.Нужно ли синхронизировать метод?Я не уверен - только вы можете сказать, что происходит в методе.Пока он не обращается к переменным экземпляра класса Action или не выполняет действия, которые могут быть выполнены только одним потоком за раз, синхронизация, вероятно, не требуется.

...