LittleBookOfSemaphores

Free

The publisher has enabled DRM protection, which means that you need to use the BookFusion iOS, Android or Web app to read this eBook. This eBook cannot be used outside of the BookFusion platform.

Description

Contents

Reviews

Language

Unknown

ISBN

Unknown

Preface

Introduction

Synchronization

Execution model

Serialization with messages

Non-determinism

Shared variables

Concurrent writes

Concurrent updates

Mutual exclusion with messages

Semaphores

Definition

Syntax

Why semaphores?

Basic synchronization patterns

Signaling

Sync.py

Rendezvous

Rendezvous hint

Rendezvous solution

Deadlock #1

Mutex

Mutual exclusion hint

Mutual exclusion solution

Multiplex

Multiplex solution

Barrier

Barrier hint

Barrier non-solution

Deadlock #2

Barrier solution

Deadlock #3

Reusable barrier

Reusable barrier non-solution #1

Reusable barrier problem #1

Reusable barrier non-solution #2

Reusable barrier hint

Reusable barrier solution

Preloaded turnstile

Barrier objects

Queue

Queue hint

Queue solution

Exclusive queue hint

Exclusive queue solution

Classical synchronization problems

Producer-consumer problem

Producer-consumer hint

Producer-consumer solution

Deadlock #4

Producer-consumer with a finite buffer

Finite buffer producer-consumer hint

Finite buffer producer-consumer solution

Readers-writers problem

Readers-writers hint

Readers-writers solution

Starvation

No-starve readers-writers hint

No-starve readers-writers solution

Writer-priority readers-writers hint

Writer-priority readers-writers solution

No-starve mutex

No-starve mutex hint

No-starve mutex solution

Dining philosophers

Deadlock #5

Dining philosophers hint #1

Dining philosophers solution #1

Dining philosopher's solution #2

Tanenbaum's solution

Starving Tanenbaums

Cigarette smokers problem

Deadlock #6

Smokers problem hint

Smoker problem solution

Generalized Smokers Problem

Generalized Smokers Problem Hint

Generalized Smokers Problem Solution

Less classical synchronization problems

The dining savages problem

Dining Savages hint

Dining Savages solution

The barbershop problem

Barbershop hint

Barbershop solution

The FIFO barbershop

FIFO barbershop hint

FIFO barbershop solution

Hilzer's Barbershop problem

Hilzer's barbershop hint

Hilzer's barbershop solution

The Santa Claus problem

Santa problem hint

Santa problem solution

Building H2O

H2O hint

H2O solution

River crossing problem

River crossing hint

River crossing solution

The roller coaster problem

Roller Coaster hint

Roller Coaster solution

Multi-car Roller Coaster problem

Multi-car Roller Coaster hint

Multi-car Roller Coaster solution

Not-so-classical problems

The search-insert-delete problem

Search-Insert-Delete hint

Search-Insert-Delete solution

The unisex bathroom problem

Unisex bathroom hint

Unisex bathroom solution

No-starve unisex bathroom problem

No-starve unisex bathroom solution

Baboon crossing problem

The Modus Hall Problem

Modus Hall problem hint

Modus Hall problem solution

Not remotely classical problems

The sushi bar problem

Sushi bar hint

Sushi bar non-solution

Sushi bar non-solution

Sushi bar solution #1

Sushi bar solution #2

The child care problem

Child care hint

Child care non-solution

Child care solution

Extended child care problem

Extended child care hint

Extended child care solution

The room party problem

Room party hint

Room party solution

The Senate Bus problem

Bus problem hint

Bus problem solution #1

Bus problem solution #2

The Faneuil Hall problem

Faneuil Hall Problem Hint

Faneuil Hall problem solution

Extended Faneuil Hall Problem Hint

Extended Faneuil Hall problem solution

Dining Hall problem

Dining Hall problem hint

Dining Hall problem solution

Extended Dining Hall problem

Extended Dining Hall problem hint

Extended Dining Hall problem solution

Synchronization in Python

Mutex checker problem

Mutex checker hint

Mutex checker solution

The coke machine problem

Coke machine hint

Coke machine solution

Synchronization in C

Mutual exclusion

Parent code

Child code

Synchronization errors

Mutual exclusion hint

Mutual exclusion solution

Make your own semaphores

Semaphore implementation hint

Semaphore implementation

Semaphore implementation detail

Cleaning up Python threads

Semaphore methods

Creating threads

Handling keyboard interrupts

Cleaning up POSIX threads

Compiling Pthread code

Creating threads

Joining threads

Semaphores

The book hasn't received reviews yet.