2009/7/8 Ville Voutilainen ville.voutilainen@gmail.com:
Of course I may be wrong - but I'd be somewhat surprised if all memory memory access is volatile (in the C sense) during a synchronized block. That would take an enormous perf hit on multi-cpu systems with IPIs and such.
Not during a block of course. That's why in my example SYNCHRONIZED is _inside_ of the DOTIMES.
Formal specification is here http://java.sun.com/docs/books/jls/third_edition/html/memory.html#17.4.
Again, not sure if memory synchronization semantics of "synchronized" is a problem for ABCL impl. Maybe no difficulties arise from that. Just wanted to remind that sycnrhonized is not just an API call to some locking method.
Best regards, -Anton