
164 Introduction to Concurrency in Programming Languages
x=f(1) y=g() z=f(x) x=y+z
FIGURE 7.3: Dependencies that impose an ordering on a sequence of op-
erations, exposing some potential for parallelism.
of the program. This is expressed by separating the statements that can be
executed in parallel by a comma instead of a semi-colon.
x=f(1), y=g(); z=f(x); x=y+z;
Similarly, we can find by inspection of Figure 7.3 that we can do this to
the second and third statements instead. Either choice will not affect the
outcome of the program, but may impact the runtime. For example, if the
first statement was fast relative the the second or third, it would be wise ...