Le 03/09/2009 11:56, Alan Bateman a écrit :
Rémi Forax wrote:
:
Hi Alan,
Classloading is now done in parallele, zip and jar can be loaded by
different threads.
"for the synchronization there are places where both a counter and an
elapsed time are updated"
=> the problem is that these synchronisations are done on two
different monitors.
I don't see how to remove them easily.
Furthermore I think that all synchronized can not be easily replaced
by some atomics operations
(unsafe.put* or unsafe.compareAndSwap) because long in a ByteBuffer
aren't volatile.
Perhaps with the Doug Lea's Fences (scheduled to be introduced in
jdk7) but I'm not sure.
I understand - I'm just posing the question because correctness isn't
a major issue here and perhaps the trade-off could be considered.
-Alan.
Writing longs on a 32 bits system leads to really surprising results :)
Rémi