У меня есть веб-приложение, в котором используются некоторые баночки, написанные мной. Моя проблема в том, что у меня есть критический (но быстрый) раздел в моем коде.Java Threads and synchronization
1 - У меня есть объект данного класса, который имеет пару полей static
. Назовем этот класс A
2 _ A предоставляет не статический метод, который обращается к полям static
. для чтения и письма. Позволяет называть этот метод doJob
.
3 - Каждый запрос создает экземпляр объекта класса A
и вызывает doJob
.
A a = new A(); a.doJob();
4 - Я полагаю, что каждый запрос создает новый Thread
где doJob
выполняется.
5 - Если я определяю doJob
как public synchronized void doJob() {//Do the job}
, то только один Thread
в то время будет выполнять метод, а остальные будут продолжать ждать.
Вопрос в следующем: все в порядке, что я говорю?
Экземпляры объектов не имеют ничего общего с синхронизацией (за исключением того, что некоторые экземпляры могут использоваться и отображаться только в контексте X). Я думаю, что есть Java Trail для этого ... –