Junior — Middle
86
Оё метавонед шарҳ диҳед, ки чӣ гуна калимаи калидии synchronized барои ҳамоҳангсозии ҷараёнҳо истифода мешавад?
Ҷавоб аз AI
sobes.tech AI
Ключевое слово synchronized в Java используется для обеспечения синхронизации потоков, чтобы избежать проблем с одновременным доступом к общим ресурсам.
Когда метод или блок кода объявлен как synchronized, только один поток может выполнять этот код в данный момент для данного объекта (монитора). Это предотвращает состояния гонки и обеспечивает корректность данных.
Пример использования synchronized метода:
public class Counter {
private int count = 0;
public synchronized void increment() {
count++;
}
public int getCount() {
return count;
}
}
Здесь метод increment синхронизирован, поэтому если несколько потоков вызывают его одновременно, они будут выполняться по очереди, не нарушая целостность переменной count.
Также можно синхронизировать блок кода внутри метода:
public void increment() {
synchronized(this) {
count++;
}
}
Это даёт более гибкий контроль над синхронизацией.