ReadWrite Lock

​In this lesson, ​ we discuss a common interview question involving the synchronization of multiple reader threads and a single writer thread.

We'll cover the following...

Read Write Lock

Imagine you have an application where you have multiple readers and a single writer. You are asked to design a lock that lets multiple readers read at the same time, but only one writer writes at a time.

Solution

First of all, let us define the APIs our class will expose. We'll need two for writer and two for reader. These are:

  • acquireReadLock
  • releaseReadLock
  • acquireWriteLock
...