hey,
the volatile keyword is rarely used and pretty poorly documented too ...
essentially, the volatile keyword indicates that this variable, which can be static or non-static, is used and altered by different threads.
hence the variable is never cached
thread locally, but always used directly from the main memory..
in addition the variable is synchronized on itself, just as if you used