A notifier is not really a single element queue, but a one-to-many broadcast mechanism. It does have one element, the last one that was posted to it. However, there is no real limitation on posting to a notifier. Post a new item and the old one is overwritten, whether it was read or not. Notifiers are typically used when you have a single source of data and multiple listeners. They have a subtle race condition in that you can miss items while you are processing them, even in a dedicated loop. Queues are usually point-to-point communication and can be single, fixed multiple, or variable length. While you can read a queue from multiple listeners, the act of reading it will usually pop the element from the queue, although there is a mechanism to read without popping. For one-to-one communications, queues are usually a better choice. I have run into race conditions almost every time I have tried to use notifiers.