In this chapter, central concepts of concurrent programming are defined, and conceptual differences to sequential programming are worked out. It is shown that the magnitudes of the number of possible sequences of concurrent programs exceed any human imagination. Afterward, notations for concurrent instructions are introduced, and the process concept is introduced informally. Some examples demonstrate the extreme vulnerability to errors that can result from conflicts when multiple processes access shared resources. They make clear that programs without synchronization of these accesses are completely unusable or even arbitrarily harmful. After explaining what is meant by atomic (indivisible) instructions, the interplay between the concept of indivisibility and that of critical sections is explained, and based on this, lock synchronization is defined as a first concept for avoiding access conflicts. The chapter concludes with the development of the process concept and the presentation of the transitions between process states. They serve the understanding of abstract terms and allow insight into inner processes in the computer.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Introduction

  • Christian Maurer

摘要

In this chapter, central concepts of concurrent programming are defined, and conceptual differences to sequential programming are worked out. It is shown that the magnitudes of the number of possible sequences of concurrent programs exceed any human imagination. Afterward, notations for concurrent instructions are introduced, and the process concept is introduced informally. Some examples demonstrate the extreme vulnerability to errors that can result from conflicts when multiple processes access shared resources. They make clear that programs without synchronization of these accesses are completely unusable or even arbitrarily harmful. After explaining what is meant by atomic (indivisible) instructions, the interplay between the concept of indivisibility and that of critical sections is explained, and based on this, lock synchronization is defined as a first concept for avoiding access conflicts. The chapter concludes with the development of the process concept and the presentation of the transitions between process states. They serve the understanding of abstract terms and allow insight into inner processes in the computer.