private void nextWaiter(String lockName) { List<LockWaiter> waiters = waitersMap.compute(lockName, (s, list) -> { return list == null || list.size() == 1 ? null : new ArrayList<>(list.subList(1, list.size())); }); if (waiters != null) { waiters.get(0).acquireLock(); } } }
public void acquire(Context context, String name, long timeout, Handler<AsyncResult<Lock>> handler) { LockWaiter lockWaiter = new LockWaiter(context, name, timeout, handler); List<LockWaiter> waiters = waitersMap.compute(name, (s, list) -> { List<LockWaiter> result; if (list != null) { result = new ArrayList<>(list.size() + 1); result.addAll(list); } else { result = new ArrayList<>(1); } result.add(lockWaiter); return result; }); if (waiters.size() == 1) { waiters.get(0).acquireLock(); } }
private void nextWaiter(String lockName) { List<LockWaiter> waiters = waitersMap.compute(lockName, (s, list) -> { return list == null || list.size() == 1 ? null : new ArrayList<>(list.subList(1, list.size())); }); if (waiters != null) { waiters.get(0).acquireLock(); } } }
public void acquire(Context context, String name, long timeout, Handler<AsyncResult<Lock>> handler) { LockWaiter lockWaiter = new LockWaiter(context, name, timeout, handler); List<LockWaiter> waiters = waitersMap.compute(name, (s, list) -> { List<LockWaiter> result; if (list != null) { result = new ArrayList<>(list.size() + 1); result.addAll(list); } else { result = new ArrayList<>(1); } result.add(lockWaiter); return result; }); if (waiters.size() == 1) { waiters.get(0).acquireLock(); } }