Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class SemaforoContador {
- private int cont;
- private ReentrantLock lock;
- private Condition c;
- SemaforoContador(int cont, boolean fila){
- this.cont = cont;
- lock = new ReentrantLock(fila);
- c = lock.newCondition();
- }
- public void acquire(){
- lock.lock();
- if(cont == 0)
- c.awaitUninterruptibly();
- else
- cont--;
- lock.unlock();
- }
- public void release(){
- lock.lock();
- c.signal();
- cont++;
- lock.unlock();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement