There are still potential concurrency issues with parallel execution if you are not careful due to the purposefully undefined order of execution (the order in which chips are executed within a tick is not fixed, and can change at any moment).
For example, let says we have two chips with each looping through the following instructions :
Chip 1 : :x = :x++ goto 1 (the goto 1 is present only to ensure that the line is rune every tick)
Chip 2 : :y += :x goto 1
The expected natural way this setup would work is with each chip alternating execution, and as a result giving us the triangular number series.
However, due to the fact that the order of execution of chips can change, it is possible to have one of the chips executed twice in a row (ex: tick 1 - Chip 1, then Chip 2; Tick 2 - Chip 2, then Chip 1; in this exemple, Chip 2 is executed twice in a row).
This means that some value may be added twice, while some will be skipped entirely; resulting in an incorrect result.
Of course, it is possible to account for that by using safeguards, such as a proto-semaphore; but this still require us to be mindful of the potential concurrency issues that multi-chip yolol can have.