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: 54
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

How To Manage Remote Servers with Ansible

Download free course How To Manage Remote Servers with Ansible, pdf file on 72 pages by Erika Heidi....

Tutorial Cryptography with ARC4 in PDF

Download PDF tutorial about ARC4 stream cipher algorithm, and how to use it in a very simple application on the nRF24L01...

Modern Robotics with OpenCV

How to use a Robot with Computer Vision in order to perform complex tasks, interacting with the surrounding environment, using a distributed system with several software communicating each others and exchanging data across the network....

Getting Started with InnerSource

Download free course Getting Started with InnerSource, pdf file on 22 pages by Andy Oram....

OpenIntro Statistics, 4th Edition

OpenIntro Statistics offers a traditional introduction to statistics at the college level...., download free OpenIntro Statistics tutorial in PDF (422 pages) created by David Diez ....

XSLT: XML Transformation Tutorial in PDF

Download free XSLT and XML Transformation Tutorial in PDF, free training document on 42 pages by Dongwon Lee....

D3 Tips and Tricks v3.x

Download free course D3 Tips and Tricks v3.x, pdf file on 551 pages by Malcolm Maclean....

Compiler Design: Theory, Tools, and Examples

...

TouchDevelop

Download free course TouchDevelop, pdf file on 263 pages by R. Nigel Horspool, Nikolai Tillmann....

Essential Dart

Dart is a class-based, object-oriented language that simplifies the development of structured modern apps, scales from small scripts to large applications, and can be compiled to JavaScript for use in any modern browser. In this rigorous but readable introductory text, Dart specification lead Gilad ...