Add a implmentation of BlockingQueue with Lock and Condition: BlockingQueueUsingLock