Improved semafors through message queues.