Skip to main content

Concurrent Programming, Mutual Exclusion

  • Reference work entry
  • First Online:
Encyclopedia of Algorithms

Years and Authors of Summarized Original Work

  • 1965; Dijkstra

Problem Definition

Concurrency, Synchronization and Resource Allocation

concurrent system is a collection of processors that communicate by reading and writing from a shared memory. A distributed system is a collection of processors that communicate by sending messages over a communication network. Such systems are used for various reasons: to allow a large number of processors to solve a problem together much faster than any processor can do alone, to allow the distribution of data in several locations, to allow different processors to share resources such as data items, printers or discs, or simply to enable users to send electronic mail.

process corresponds to a given computation. That is, given some program, its execution is a process. Sometimes, it is convenient to refer to the program code itself as a process. A process runs on a processor, which is the physical hardware. Several processes can run on the same...

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 1,599.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 1,999.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Recommended Reading

  1. Afek Y, Stupp G, Touitou D (2002) Long lived adaptive splitter and applications. Distrib Comput 30:67–86

    MATH  Google Scholar 

  2. Alur R, Taubenfeld G (1992) Results about fast mutual exclusion. In: Proceedings of the 13th IEEE real-time systems symposium, Dec 1992, pp 12–21

    Google Scholar 

  3. Anderson JH, Kim Y-J (2000) Adaptive mutual exclusion with local spinning. In: Proceedings of the 14th international symposium on distributed computing, Lecture notes in computer science, vol 1914, pp 29–43

    Google Scholar 

  4. Anderson TE (1990) The performance of spin lock alternatives for shared-memory multiprocessor. IEEE Trans Parallel Distrib Syst 1(1):6–16

    Article  Google Scholar 

  5. Burns JN, Lynch NA (1993) Bounds on shared-memory for mutual exclusion. Inf Comput 107(2):171–184

    Article  MathSciNet  MATH  Google Scholar 

  6. Dijkstra EW (1965) Solution of a problem in concurrent programming control. Commun ACM 8(9):569

    Article  Google Scholar 

  7. Dijkstra EW (1968) Co-operating sequential processes. In: Genuys F (ed) Programming languages. Academic, New York, pp 43–112. Reprinted from: technical report EWD-123, Technological University, Eindhoven (1965)

    Google Scholar 

  8. Graunke G, Thakkar S (1990) Synchronization algorithms for shared-memory multiprocessors. IEEE Comput 28(6):69–69

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  10. Lamport L (1987) A fast mutual exclusion algorithm. ACM Trans Comput Syst 5(1):1–11

    Article  Google Scholar 

  11. Mellor-Crummey JM, Scott ML (1991) Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans Comput Syst 9(1):21–65

    Article  Google Scholar 

  12. Raynal M (1986) Algorithms for mutual exclusion. MIT, Cambridge. Translation of: Algorithmique du parallélisme (1984)

    Google Scholar 

  13. Singhal M (1993) A taxonomy of distributed mutual exclusion. J Parallel Distrib Comput 18(1):94–101

    Article  MATH  Google Scholar 

  14. Taubenfeld G (2004) The black-white bakery algorithm. In: 18th international symposium on distributed computing, Oct 2004. LNCS, vol 3274. Springer, Berlin, pp 56–70

    Google Scholar 

  15. Taubenfeld G (2006) Synchronization algorithms and concurrent programming. Pearson Education/Prentice-Hall, Upper Saddle River. ISBN:0131972596

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gadi Taubenfeld .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer Science+Business Media New York

About this entry

Cite this entry

Taubenfeld, G. (2016). Concurrent Programming, Mutual Exclusion. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, New York, NY. https://doi.org/10.1007/978-1-4939-2864-4_88

Download citation

Publish with us

Policies and ethics