Process synchronization problem originally introduced by Dijkstra