Abstract

We assume that parallel programs can be started repeatedly without earlier runs of the same program having finished. This leads to the notions of process classes and classes of critical passages. To formulate synchronisation between such classes in a higher level language, new structured notations are proposed, which are extensions of the concepts "conditional critical regions" and "monitor". These new notations have two major advantages. Firstly they allow not only to express mutual exclusion but also single exclusion, an exclusion relation which often occurs in application problems (e.g. the second problem of readers and writers). Secondly because they deal with classes instead of single processes, the usual counting mechanisms to count several runs of the same program coexisting in time become invisible to the programmer. For instance, this makes unnecessary the use of "readercount" and "writercount" in the second problem of readers and writers.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call