| Synchronization During Java VM Initialization and Termination (2009) | |||||||||||||
Abstract | |||||||||||||
| The Java language supports concurrent programming using threads. Since thread scheduling is non-deterministic and a thread’s time slice may end at any time, access to shared data has to be synchronized to prevent an unintended sequence of reads and writes that might corrupt data. Java virtual machines (VMs) support synchronization using monitors. With a tool developed to record the order of synchronization operations involving monitors, a large number of these costly operations were discovered during VM initialization and termination, even though the application seems strictly single-threaded at these times. 1. | |||||||||||||
Publication details | |||||||||||||
| |||||||||||||