Universal Critical Sections
摘要
The baton algorithm in the previous chapter contains a “pattern for programming.” This raises the question if it is possible to generate program code “automatically” by using this pattern as a “recipe” for constructing nonsequential algorithms. In this chapter, it is shown that this is, indeed, the case: The considerations result in the development of a universal synchronization concept, for the simple solution of problems that require condition synchronization. With this, we achieve a level of abstraction with which certain types of synchronization problems can be reduced to their conceptual core. The actual synchronization measures disappear behind the interface of an abstract data type, resulting in a substantial simplification of the implementations.