algo4: comprehensive: blocking_queue
    -- using notifyAll and synchronized method for solution 1
    -- using lock and it's notify/wait for solution 2