Si no estuviera el bloque definido por la palabra reservada lock, podría ser posible para las instrucciones de esos métodos cambiaran el valor de a y el resultado de las operaciones sería aleatorio.