I agree with BrowserUK, that it would be nice to have more details.
Nevertheless I guess you need to try a non-blocking read from Thread::Queue via the dequeue_nb function.
For non-blocking receive from sockets you may look at recv in socket programming.