Является ли оператор предварительного инкремента потокобезопасным?

Я делаю программу на java, которая гонит несколько машин друг против друга. Каждая машина - это отдельный поток.

Когда машины заканчивают гонку, каждый из них вызывает этот метод. Я тестировал этот метод на разных скоростях таймера, и, похоже, он работает нормально. Но я понимаю, что каждый поток обращается к переменной carsComplete, иногда в одно и то же время (по крайней мере, в той области, которую дает мне команда date).

Итак, мой вопрос: является ли этот метод потокобезопасным?

 public static String completeRace()
 {
      Date accessDate = new Date();
      System.out.println("Cars Complete: " + carsComplete + " Accessed at " + accessDate.toString());
      switch(++carsComplete)
      {
           case 1: return "1st";
           case 2: return "2nd";
           case 3: return "3rd";
           default: return carsComplete + "th";    
      }
 }
19
задан Nathan Hughes 20 July 2016 в 16:27
поделиться