Semaphore in Java