The Little Book of Semaphores



Download free course The Little Book of Semaphores, pdf file on 291 pages by Allen Downey.
The Little Book of Semaphores is a free textbook that introduces the principles of synchronization for concurrent programming.

In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, but most students don't get a good understanding of the material or the ability to solve similar problems.

The approach of this book is to identify patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions. After each problem, the book offers a hint before showing a solution, giving students a better chance of discovering solutions on their own.

The book covers the classical problems, including "Readers-writers," "Producer-consumer", and "Dining Philosophers." In addition, it collects a number of not-so-classical problems, some written by the author and some by other teachers and textbook writers. Readers are invited to create and submit new problems.

Table of contents

  • Introduction
  • Semaphores
  • Basic synchronization patterns
  • Classical synchronization problems
  • Less classical synchronization problems
  • Not-so-classical problems
  • Not remotely classical problems
  • Synchronization in Python
  • Synchronization in C
  • Cleaning up Python threads
  • Cleaning up POSIX threads
Pages : 291
Size : 1.2 MB
File type : PDF
Downloads: 56
Created: 2022-02-03
License: CC BY-NC-SA
Author(s): Allen Downey
The Little Book of Semaphores

Others Semaphores Tutorials

The Little Book of Semaphores

Others related eBooks about The Little Book of Semaphores

Category Theory for Programmers

In this book, the author illustrates all major concepts of Category Theory using computer code. You are probably aware that functional languages are closer to math than the more popular imperative languages. They also offer more abstracting power. So a natural temptation would be to say: You must le...

Reversible Computation: Extending Horizons of Computing

Download free course Reversible Computation: Extending Horizons of Computing, pdf file on 250 pages by Irek Ulidowski, Ivan Lanese, Ulrik Pagh Schultz, Carla Ferreira....

Raspberry Pi Projects Book, Volume 5

The Raspberry Pi is loved the world over by educators and makers thanks to its tiny size a..., download free Raspberry Pi tutorial in PDF (200 pages) created by Wes Archer ....

The Little MongoDB Book

Download free course The Little MongoDB Book, pdf file on 66 pages by Karl Seguin....

Haskell tutorial for professionals

Download free Haskell tutorial course in PDF, training file in 78 chapters and 230 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Platform Embedded Security Technology Revealed

Platform Embedded Security Technology Revealed is an in-depth introduction to Intel's plat..., download free Security Technology tutorial in PDF (272 pages) created by Xiaoyu Ruan ....

Docker for Developers

Download free course Docker for Developers, pdf file on 153 pages by Rafael Gomes....

Signal Computing: Digital Signals in the Software Domain

This book teaches students how digital signals are captured, represented, processed, communicated, and stored in computers. building on the exceptionally readable coverage that made it the favorite of DSP professionals worldwide. ...

Rethinking Productivity in Software Engineering

Download free course Rethinking Productivity in Software Engineering, pdf file on 310 pages by Caitlin Sadowski, Thomas Zimmermann....

Think Stats, 2nd Edition: Exploratory Data Analysis in Python

If you know how to program, you have the skills to turn data into knowledge, using tools of probability and statistics. This concise introduction shows you how to perform statistical analysis computationally, rather than mathematically, with programs written in Python. ...