Design Thread-Safe Blocking Queue — Low-level design | OneNoughtOne