Если классы действий Struts 1 являются синглетонами, означает ли это, что не может быть доступно 2 потока класса? - PullRequest
0 голосов
/ 03 мая 2011

если классы действий Struts 1 являются одноэлементными классами шаблонов, означает ли это, что не может быть двух потоков класса, доступных для использования?

Мой вопрос возник из любопытства, что если бы я пометил метод внутри класса Struts 1 синхронизированным, значит ли это, что в любой момент этот метод может обслуживать только 1 поток.

private synchronized  void runSubmitCalculatorState(ControllerRequest request,ControllerResponse response){}

Ответы [ 2 ]

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

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

Синхронизированный метод означает, что только один поток может получить доступ к этому методу за один раз.

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

1 голос
/ 03 мая 2011

Struts 1 Действия являются синглетонами, поэтому они должны быть поточно-ориентированными, поскольку только один экземпляр класса обрабатывает все запросы для этого действия.Одноэлементная стратегия ограничивается действиями Struts 1 и требует особого внимания, чтобы сделать ресурсы действий потокобезопасными или синхронизированными при разработке приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...