Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates

The synchronization of independent processes


This paper considers the problem of programming a multiple process system so that it continues to operate despite the failure of individual processes. A powerful synchronizing primitive is defined, and it is used to solve some sample problems. An algorithm is then given which implements this primitive under very weak assumptions about the nature of interprocess communication, and a careful informal proof of its correctness is given.

This is a preview of subscription content, log in to check access.


  1. 1.

    Brinch Hansen, P.: Concurrent programming concepts. Computing Surveys 5, 223–245 (1973)

  2. 2.

    Courtois, P. J., Heymans, F., Parnas, D. L.: Concurrent control with “Readers” and “Writers”. Comm. ACM 14, 667–668 (1971)

  3. 3.

    Dijkstra, E. W.: The structure of the “THE” multiprogramming system. Comm. ACM 11, 341–346 (1968)

  4. 4.

    Dijkstra, E. W.: Cooperating sequential processes. In: Genuys, F. (ed.): Programming Languages. New York: Academic Press 1968, p. 43–112

  5. 5.

    Dijkstra, E. W.: Hierarchical ordering of sequential processes. Acta Informatica 1, 115–138 (1971)

  6. 6.

    Dijkstra, E. W.: Self-stabilizing systems in spite of distributed control. Comm. ACM 17, 643–644 (1974)

  7. 7.

    Hoare, C. A. R.: A structured paging system. Computer J. 16, 209–214 (1973)

  8. 8.

    Lamport, L.: A new solution of Dijkstra's concurrent programming problem. Comm. ACM 17, 453–455 (1974)

  9. 9.

    Lamport, L.: On concurrent reading and writing. To appear in Comm. ACM

  10. 10.

    Nilsen, R. N. (ed.): Distributed function computer architectures. Computer 7, 15–37 (1974)

Download references

Author information

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Lamport, L. The synchronization of independent processes. Acta Informatica 7, 15–34 (1976).

Download citation


  • Information System
  • Operating System
  • Data Structure
  • Communication Network
  • Information Theory