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

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

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

LinkedBlockingDeque.takeFirst介绍

暂无

代码示例

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

public E take() throws InterruptedException {
  return takeFirst();
}

代码示例来源:origin: apache/hbase

/**
 * Behaves as {@link LinkedBlockingQueue#take()}, except it will silently
 * skip all calls which it thinks should be dropped.
 *
 * @return the head of this queue
 * @throws InterruptedException if interrupted while waiting
 */
@Override
public CallRunner take() throws InterruptedException {
 CallRunner cr;
 while(true) {
  if (((double) queue.size() / this.maxCapacity) > lifoThreshold) {
   numLifoModeSwitches.increment();
   cr = queue.takeLast();
  } else {
   cr = queue.takeFirst();
  }
  if (needToDrop(cr)) {
   numGeneralCallsDropped.increment();
   cr.drop();
  } else {
   return cr;
  }
 }
}

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

public E take() throws InterruptedException {
  return takeFirst();
}

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

public E take() throws InterruptedException {
  return takeFirst();
}

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

public E take() throws InterruptedException {
  return takeFirst();
}

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

public E take() throws InterruptedException {
  return takeFirst();
}

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

public E take() throws InterruptedException {
  return takeFirst();
}

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

public E take() throws InterruptedException {
  return takeFirst();
}

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

public E take() throws InterruptedException {
  return takeFirst();
}

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

public E take() throws InterruptedException {
  return takeFirst();
}

代码示例来源:origin: FlexoVM/flexovm

public E take() throws InterruptedException {
  return takeFirst();
}

代码示例来源:origin: numenta/htm.java

/**
 * Returns the item at the head of this {@code Deque} or null
 * if it is empty. This call does not block if empty.
 * 
 * @return    item at the head of this {@code Deque} or null
 *             if it is empty.
 */
public E takeFirst() {
  if(currentSize == 0) return null;
  
  E val = null;
  try {
    val = backingList.takeFirst();
    currentSize--;
  }catch(Exception e) { e.printStackTrace(); }
  
  return val;
}

代码示例来源:origin: numenta/htm.java

/**
 * Returns the item at the head of this {@code Deque}, blocking
 * until an item is available.
 * 
 * @return    item at the tail of this {@code Deque}
 */
public E head() {
  E val = null;
  try {
    val = backingList.takeFirst();
    currentSize--;
  }catch(Exception e) { e.printStackTrace(); }
  
  return val;
}

代码示例来源:origin: tony19/logback-android

private void awaitStartOfEventDispatching() throws InterruptedException {
 verify(deque, timeout(TIMEOUT)).takeFirst();
}

代码示例来源:origin: PvdBerg1998/PNet

private void asyncSenderThreadImpl()
{
  logger.debug("Async sender thread started");
  while (!asyncSenderQueue.isEmpty())
  {
    try
    {
      final AsyncPacket asyncPacket = asyncSenderQueue.takeFirst();
      asyncPacket.onComplete(client.send(asyncPacket.getPacket()));
    }
    catch (final InterruptedException e)
    {
      asyncSenderQueue.clear();
      break;
    }
  }
  logger.debug("Async sender thread stopped");
}

代码示例来源:origin: tony19/logback-android

@Test
public void shutsDownOnInterruptWhileWaitingForEvent() throws Exception {
 // given
 mockOneSuccessfulSocketConnection();
 doThrow(new InterruptedException()).when(deque).takeFirst();
 // when
 appender.start();
 // then
 verify(deque, timeout(TIMEOUT)).takeFirst();
}

代码示例来源:origin: tony19/logback-android

@Test
public void dispatchesEvents() throws Exception {
  // given
  ServerSocket serverSocket = ServerSocketUtil.createServerSocket();
  instrumentedAppender.setRemoteHost(serverSocket.getInetAddress().getHostAddress());
  instrumentedAppender.setPort(serverSocket.getLocalPort());
  instrumentedAppender.start();
  Socket appenderSocket = serverSocket.accept();
  serverSocket.close();
  // when
  instrumentedAppender.append("some event");
  // wait for event to be taken from deque and being written into the stream
  verify(deque, timeout(TIMEOUT).atLeastOnce()).takeFirst();
  verify(objectWriter, timeout(TIMEOUT)).write("some event");
  // then
  ObjectInputStream ois = new ObjectInputStream(appenderSocket.getInputStream());
  assertEquals("some event", ois.readObject());
  appenderSocket.close();
}

代码示例来源:origin: tony19/logback-android

@Test
public void takesEventsFromTheFrontOfTheDeque() throws Exception {
 // given
 mockOneSuccessfulSocketConnection();
 appender.start();
 awaitStartOfEventDispatching();
 // when
 appender.append("some event");
 // then
 verify(deque, timeout(TIMEOUT).atLeastOnce()).takeFirst();
}

代码示例来源:origin: NightscoutFoundation/xDrip

private static String httpNext() {
  if (queue.peekFirst() == null) return null;
  try {
    final QueueItem item = queue.takeFirst(); // removes from queue
    item.retried++;
    item.updateLastProcessed();
    UserError.Log.d(TAG, "Next item: " + item.toS());
    final String result = httpGet(item.getUrl(Home.get_follower() ? item.handler != MasterPing ? getOasisIP() : null : null));
    // if (result != null) {
    item.result = result;
    item.handler.process(item);
    // }
    if (result != null || item.expired()) {
      queue.remove(item);
    } else {
      //    queue.add(item); // re-add
    }
    return result;
  } catch (InterruptedException e) {
    UserError.Log.e(TAG, "Got interrupted");
    return null;
  }
}

代码示例来源:origin: jamorham/xDrip-plus

private static String httpNext() {
  if (queue.peekFirst() == null) return null;
  try {
    final QueueItem item = queue.takeFirst(); // removes from queue
    item.retried++;
    item.updateLastProcessed();
    UserError.Log.d(TAG, "Next item: " + item.toS());
    final String result = httpGet(item.getUrl(Home.get_follower() ? item.handler != MasterPing ? getOasisIP() : null : null));
    // if (result != null) {
    item.result = result;
    item.handler.process(item);
    // }
    if (result != null || item.expired()) {
      queue.remove(item);
    } else {
      //    queue.add(item); // re-add
    }
    return result;
  } catch (InterruptedException e) {
    UserError.Log.e(TAG, "Got interrupted");
    return null;
  }
}

相关文章

微信公众号

最新文章

更多