I remember the days when software engineers writing BSD didn't know about queues. They had "queues" where processes waited and when an event came in they woke up all the processes waiting. The performance was abysmal until someone had the obvious idea of putting them in a queue and only waking one.