Semantics of Multithreaded Java
Jeremy Manson,W. Pugh
A new semantics for Java is proposed that addresses the issues raised by safety and multithreading, allows for aggressive compiler optimization and suggests solutions to some of the implementation issues.