Using BlockingQueue instead of Queue