added BlockingQueue with lock&condition