Using no signaller
Even when using signallers, pop operations on queue never block or wait forever; waiting pop operations are anyway terminated after 15000 millisecs
or whatever specified in the pollInterval parameter) and silently re-initiated. That is, a pop() on an empty queue will appear blocked forever to
the caller, but behind the scenes it'll work pretty much as if it were doing a poll every 15 secs
If a signaller is used (or if a signaller other than local is used, if push() and pop() happen on different machines) the pop() will be awaken almost
immediately after the push(); if no signaller is used (or localis used, but the action happens in separated machines) pop() will behave exactly as if
it were doing a poll() internally;
Another way to put it is, pop() operations would have a maximum latency of pollInterval millisecs, but also provides a safe backup in the event of
signalling loss.