Pops data from the this.
If the queue is empty, blocks for
timeout microseconds, or until data becomes available.
If no data is received before the timeout, null is returned.
This function must be called while holding the this's lock.
the number of microseconds to wait
data from the queue or null, when no data is received before the timeout.