A method for solving synchronization problems (Q582048): Difference between revisions
From MaRDI portal
Added link to MaRDI item. |
Set OpenAlex properties. |
||
(One intermediate revision by one other user not shown) | |||
Property / MaRDI profile type | |||
Property / MaRDI profile type: Publication / rank | |||
Normal rank | |||
Property / full work available at URL | |||
Property / full work available at URL: https://doi.org/10.1016/0167-6423(89)90013-0 / rank | |||
Normal rank | |||
Property / OpenAlex ID | |||
Property / OpenAlex ID: W2036489278 / rank | |||
Normal rank |
Latest revision as of 22:22, 19 March 2024
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | A method for solving synchronization problems |
scientific article |
Statements
A method for solving synchronization problems (English)
0 references
1989
0 references
A systematic method is given for solving synchronization problems of concurrent processes. A process is considered as a sequence of atomic actions S which are preceded by a state P (precondition) and terminated by a state Q (postcondition). Correct synchronization is warranted, if pre- and postcondition of an atomic action in one process are not interferenced by atomic actions of another process. In order to guarantee the noninterference with only linear effort (in relation to the number of atomic actions) a global predicate is defined, which is newly calculated and checked for each starting action. The method comprises four steps: 1. Define the problem. 2. Outline the solution. 3. Ensure the global predicate. 4. Implement the atomic action. In the fourth step the action is transformed in code of only sequential statements and the synchronization mechanism. The method is illustrated for critical sections, the producer/consumer problem and the reader/writer problem. As basic synchronization mechanisms are used and explained in detail chainging variables, split binary semaphores and passing the baton.
0 references
mutual exclusion
0 references
synchronization
0 references
concurrent processes
0 references
semaphores
0 references
passing the baton
0 references