(Потенциально странное) поведение длинного инкремента?

Мне немного неловко задавать этот вопрос, но результат следующего фрагмента кода поставил меня в тупик:

System.out.println("incrementResultResponses() has been invoked!");
final long oldValue = resultResponses;
final long newValue = resultResponses++;
System.out.println("Old value = " + oldValue);
System.out.println("New value = " + newValue);

Выводит следующее:

incrementResultResponses() has been invoked!
Old value = 0
New value = 0

Почему? Может ли параллелизм как-то повлиять на результат? Кстати, resultResponses - это long.

5
задан mre 6 February 2012 в 13:38
поделиться