Replace Semaphore with AtomicInteger Since we are only utilizing the non-blocking operations of Semaphore, Its better to use AtomicInteger to avoid all the extra overhead. Change-Id: I219b3b35468fe11ef5bf063f671b5f6415630a0c