Вы можете подумать, что этот вопрос является дубликатом этого, но никакие ответы на этот вопрос не помогают мне понять synchronized
метод в андроиде. Я много искал в Google, чтобы понять методы synchronized
, и я нашел ответ, но они не помогли мне полностью понять методы Synchronized
, потому что ни один ответ не имеет идеального практического примера.
Я попытался понять метод synchronized
, реализовав 2 метода synchronized
в своем коде и выполнив их одновременно, но мне не удалось их правильно реализовать. Итак, предоставьте объяснение метода synchronized
с помощью простого примера, чтобы другие, такие как я, могли понять его просто и быстрее.
ОБНОВЛЕНИЕ
Я не уверен, что иду в правильном направлении или нет, но я пробовал следующий код, который имеет 2 синхронизированных метода.
synchronized void add() {
counter++;
Log.e("JK", String.valueOf(counter));
}
synchronized void minus() {
counter--;
Log.e("JK", String.valueOf(counter));
}
и я вызвал эти методы в двух разных потоках, используя приведенный ниже код.
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
synchronized (counter++) {
add();
}
}
},500);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
minus();
}
},1000);