if x != 0
, e.g. x== 1
, then the transition with x == 0
is not enabled, the other, unguarded one is. the other is fired.
if x == 0
, then both of the transitions are enabled. this is a situation of the so-called "conflicting transitions" (see UML Spec. 2.4.1., p. 575). Conflict resolution is generally rather complicated, see UML Spec. In your specific case, where both transitions leave the same state, the result is non-deterministic: either one of the transitions may be taken