Synchronisation part 2 - Chapter 6

Binary Buffer Problem

The consumer should not take if the buffer is empty.

Producer should not add an item if the buffer is full.

Reader Writer problem

Only one person can write at a time

If someone is writing nobody can read

Many people can read

If someone is reading nobody can write

Dining Philosophers problem

There is one chop stick per person

Each person needs two chop sticks to eat

Each person only has access to the chop sticks next to them

This may cause a deadlock to prevent:

  1. Let all members eat excluding one
  1. Let odd or even members eat

Atomic transactions

Atomic transactions - Where each read and write is done in one step.

A log is made, if a system crash occurs before a commit then the data is rolled back to the last commit.