Junior — Middle
Използвали ли сте механизма за блокиране с ключовата дума synchronized във вашите проекти?
sobes.tech AI
Отговор от AI
Да, ключовата дума synchronized в Java и Android се използва за организиране на блокировки и осигуряване на потокобезопасност при достъп до споделени ресурси.
Например, ако няколко нишки едновременно достъпват един обект и променят неговото състояние, synchronized гарантира, че само една нишка в даден момент изпълнява критичната секция от кода.
Пример за използване:
public class Counter {
private int count = 0;
public synchronized void increment() {
count++;
}
public synchronized int getCount() {
return count;
}
}
В Android това е важно, например, при работа с общи данни в многонишкова среда, за да се избегнат състезателни условия и неконсистентни данни.