why not `not self._queue.empty()` ?