realmente no cero que java lo haga por si solo..
tambien lo he programado en c,
y aunque no he tenido necesiada de hacerlo en java utilizando zonas criticas, creo que debes controlarlo que controlarlo tu mismo, pero utilizando alguna propiedad o metodo de cada hilo o del manejador de hilos..
no espero que sea tan cqanson como en c, pero creo que si toca hacerlo.