This is related to an earlier question I asked, where the answer was:
If a field is accessed by multiple threads, it should be volatile or final, or accessed only with synchronized blocks. Otherwise, assigned values may not be visible to other threads.
In addition anything that manipulates pixels on screen should be run from the event dispatch thread although this is handled transparently when you use repaint / paint.
Therefore, by my understanding, we need worry about the memory model for something as simple as an animation of a sprite moving across the screen.
My question is, is this understanding correct, and Sun tutorial examples eg TumbleItem (source) incorrect?