This is because by default all zones are “sequential” — both programs will be scheduled at the same time, but since zones are serialized, they will run one after another. This is not because of programs are put one after another, rather, it’s a zone property.