Найти тему
DEBAGanov

Java 999. Как синхронизировать метод?

Для синхронизации методов в Java можно использовать ключевое слово synchronized. Это означает, что только один поток может выполнять этот метод в определенный момент времени. Вот пример:

public class MyClass {
private int count = 0;

public synchronized void increment() {
count++;
}

public synchronized void decrement() {
count--;
}

public synchronized int getCount() {
return count;
}
}

В этом примере все три метода синхронизированы, поэтому только один поток может выполнить любой из них в одно время. Методы могут быть синхронизированы на уровне объекта или класса, и должны быть описаны как public synchronized. Вы также можете использовать блокировки для синхронизации кода с использованием ключевого слова synchronized.

Например, чтобы синхронизировать код, содержащийся внутри блока, можно использовать следующий синтаксис:

public class MyClass {
private int count = 0;
private Object lock = new Object();

public void increment() {
synchronized (lock) {
count++;
}
}

public void decrement() {
synchronized (lock) {
count--;
}
}

public int getCount() {
synchronized (lock) {
return count;
}
}
}

Здесь мы создаем объект lock, который будет использоваться для блокировки. Затем мы используем блокировку для синхронизации каждого метода.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov