change queue to arrayblocking queue