java.util.concurrent.LinkedBlockingDeque.unlinkLast()方法的使用及代码示例

x33g5p2x  于2022-01-23 转载在 其他  
字(4.3k)|赞(0)|评价(0)|浏览(92)

本文整理了Java中java.util.concurrent.LinkedBlockingDeque.unlinkLast()方法的一些代码示例,展示了LinkedBlockingDeque.unlinkLast()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。LinkedBlockingDeque.unlinkLast()方法的具体详情如下:
包路径:java.util.concurrent.LinkedBlockingDeque
类名称:LinkedBlockingDeque
方法名:unlinkLast

LinkedBlockingDeque.unlinkLast介绍

[英]Removes and returns last element, or null if empty.
[中]删除并返回最后一个元素,如果为空,则返回null。

代码示例

代码示例来源:origin: robovm/robovm

public E pollLast() {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    return unlinkLast();
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: robovm/robovm

public E takeLast() throws InterruptedException {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    E x;
    while ( (x = unlinkLast()) == null)
      notEmpty.await();
    return x;
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: robovm/robovm

public E pollLast(long timeout, TimeUnit unit)
  throws InterruptedException {
  long nanos = unit.toNanos(timeout);
  final ReentrantLock lock = this.lock;
  lock.lockInterruptibly();
  try {
    E x;
    while ( (x = unlinkLast()) == null) {
      if (nanos <= 0)
        return null;
      nanos = notEmpty.awaitNanos(nanos);
    }
    return x;
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: robovm/robovm

/**
 * Unlinks x.
 */
void unlink(Node<E> x) {
  // assert lock.isHeldByCurrentThread();
  Node<E> p = x.prev;
  Node<E> n = x.next;
  if (p == null) {
    unlinkFirst();
  } else if (n == null) {
    unlinkLast();
  } else {
    p.next = n;
    n.prev = p;
    x.item = null;
    // Don't mess with x's links.  They may still be in use by
    // an iterator.
    --count;
    notFull.signal();
  }
}

代码示例来源:origin: MobiVM/robovm

public E pollLast() {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    return unlinkLast();
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: ibinti/bugvm

public E pollLast() {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    return unlinkLast();
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: com.mobidevelop.robovm/robovm-rt

public E pollLast() {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    return unlinkLast();
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: org.apidesign.bck2brwsr/emul

public E pollLast() {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    return unlinkLast();
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: com.gluonhq/robovm-rt

public E pollLast() {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    return unlinkLast();
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: com.bugvm/bugvm-rt

public E pollLast() {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    return unlinkLast();
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: org.codehaus.jsr166-mirror/jsr166

public E pollLast() {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    return unlinkLast();
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: com.mobidevelop.robovm/robovm-rt

public E takeLast() throws InterruptedException {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    E x;
    while ( (x = unlinkLast()) == null)
      notEmpty.await();
    return x;
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: com.bugvm/bugvm-rt

public E takeLast() throws InterruptedException {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    E x;
    while ( (x = unlinkLast()) == null)
      notEmpty.await();
    return x;
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: org.codehaus.jsr166-mirror/jsr166

public E takeLast() throws InterruptedException {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    E x;
    while ( (x = unlinkLast()) == null)
      notEmpty.await();
    return x;
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: MobiVM/robovm

public E takeLast() throws InterruptedException {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    E x;
    while ( (x = unlinkLast()) == null)
      notEmpty.await();
    return x;
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: jtulach/bck2brwsr

public E pollLast() {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    return unlinkLast();
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: ibinti/bugvm

public E takeLast() throws InterruptedException {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    E x;
    while ( (x = unlinkLast()) == null)
      notEmpty.await();
    return x;
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: com.gluonhq/robovm-rt

public E takeLast() throws InterruptedException {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    E x;
    while ( (x = unlinkLast()) == null)
      notEmpty.await();
    return x;
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: org.apidesign.bck2brwsr/emul

public E takeLast() throws InterruptedException {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    E x;
    while ( (x = unlinkLast()) == null)
      notEmpty.await();
    return x;
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: jtulach/bck2brwsr

public E takeLast() throws InterruptedException {
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    E x;
    while ( (x = unlinkLast()) == null)
      notEmpty.await();
    return x;
  } finally {
    lock.unlock();
  }
}

相关文章

微信公众号

最新文章

更多