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

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

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

LinkedBlockingDeque.unlinkFirst介绍

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

代码示例

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

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

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

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

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

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

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

/**
 * @throws UnsupportedOperationException {@inheritDoc}
 * @throws ClassCastException            {@inheritDoc}
 * @throws NullPointerException          {@inheritDoc}
 * @throws IllegalArgumentException      {@inheritDoc}
 */
public int drainTo(Collection<? super E> c, int maxElements) {
  if (c == null)
    throw new NullPointerException();
  if (c == this)
    throw new IllegalArgumentException();
  if (maxElements <= 0)
    return 0;
  final ReentrantLock lock = this.lock;
  lock.lock();
  try {
    int n = Math.min(maxElements, count);
    for (int i = 0; i < n; i++) {
      c.add(first.item);   // In this order, in case add() throws.
      unlinkFirst();
    }
    return n;
  } 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: com.mobidevelop.robovm/robovm-rt

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章

微信公众号

最新文章

更多