Junior — Middle
93
Kādās situācijās savā kodā izmantojāt synchronized blokus pavedienu pārvaldībai?
Uzņēmumi, kur jautāja
Atbilde no AI
sobes.tech AI
Блоки synchronized в Java я применял для управления доступом к общим ресурсам в многопоточных приложениях, чтобы избежать состояния гонки и обеспечить корректность данных. Например, когда несколько потоков одновременно изменяют общий счетчик или коллекцию, я оборачиваю критическую секцию в synchronized блок, чтобы только один поток мог выполнять этот код в конкретный момент времени.
Пример:
public class Counter {
private int count = 0;
public void increment() {
synchronized(this) {
count++;
}
}
public int getCount() {
return count;
}
}
Здесь synchronized(this) гарантирует, что инкремент счетчика происходит атомарно, предотвращая возможные ошибки при одновременном доступе из разных потоков.