if(timeout == 0){
         semaphore.tryAcquire(){
    }else{ 
       semaphore.tryAcquire(timeout, ..)
    }