本文整理了Java中java.util.concurrent.LinkedBlockingQueue.take()
方法的一些代码示例,展示了LinkedBlockingQueue.take()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。LinkedBlockingQueue.take()
方法的具体详情如下:
包路径:java.util.concurrent.LinkedBlockingQueue
类名称:LinkedBlockingQueue
方法名:take
[英]Lock held by take, poll, etc
[中]被接受、投票等持有的锁
代码示例来源:origin: apache/pulsar
@Override
public Record<T> read() throws Exception {
return queue.take();
}
代码示例来源:origin: wildfly/wildfly
public void await() throws InterruptedException {
if (done) return;
while (next == null) {
next = queue.take();
if (next == END_MARK) {
next = null;
// sentinel value to indicate the provider completed
done = true;
return;
}
}
}
代码示例来源:origin: jMonkeyEngine/jmonkeyengine
/**
* Removes one envelope from the received messages queue or
* blocks until one is available.
*/
public Envelope read() throws InterruptedException
{
return envelopes.take();
}
代码示例来源:origin: square/okhttp
private void drainQueue() throws Exception {
for (HttpUrl url; (url = queue.take()) != null; ) {
if (!fetchedUrls.add(url)) {
continue;
}
Thread currentThread = Thread.currentThread();
String originalName = currentThread.getName();
currentThread.setName("Crawler " + url.toString());
try {
fetch(url);
} catch (IOException e) {
System.out.printf("XXX: %s %s%n", url, e);
} finally {
currentThread.setName(originalName);
}
}
}
代码示例来源:origin: Alluxio/alluxio
@Override
public void run() {
while (!mStopped) {
try {
AuditContext headContext = mAuditLogEntries.take();
AUDIT_LOG.info(headContext.toString());
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
break;
}
}
}
}
代码示例来源:origin: apache/hive
protected ReaderEvent getReaderEvent() throws IOException {
try {
ReaderEvent event = readerEvents.take();
Preconditions.checkNotNull(event);
return event;
} catch (InterruptedException ie) {
throw new RuntimeException("Interrupted while getting readerEvents, not expected: " + ie.getMessage(), ie);
}
}
代码示例来源:origin: apache/incubator-druid
public ObjectContainer<T> take() throws InterruptedException
{
final ObjectContainer<T> ret = queue.take();
currentMemory.addAndGet(-ret.getSize());
return ret;
}
代码示例来源:origin: apache/zookeeper
public void run() {
while (true) {
try {
ToSend m = sendqueue.take();
process(m);
} catch (InterruptedException e) {
break;
}
}
}
代码示例来源:origin: apache/incubator-gobblin
public void assertEvent(Predicate<GobblinTrackingEvent> predicate, long timeout,
TimeUnit timeUnit) throws TimeoutException, InterruptedException {
GobblinTrackingEvent gte = timeout > 0 ? _events.poll(timeout, timeUnit) : _events.take();
if (null == gte) {
throw new TimeoutException();
}
if (!predicate.apply(gte)) {
throw new AssertionError("Event predicate mismatch: " + gte);
}
}
代码示例来源:origin: alibaba/jstorm
public static Object takeMessage(int port) throws InterruptedException {
return getQueue(port).take();
}
代码示例来源:origin: Graylog2/graylog2-server
@Override
public void doRun() {
while (serverStatus.getLifecycle() != Lifecycle.HALTING) {
try {
messages.getIndexFailureQueue()
.take()
.forEach(indexFailureService::saveWithoutValidation);
} catch (Exception e) {
LOG.error("Could not persist index failure.", e);
}
}
}
代码示例来源:origin: apache/geode
@Override
public E take() throws InterruptedException {
if (Thread.interrupted())
throw new InterruptedException();
E result = super.take();
postRemove(result);
this.stats.remove();
return result;
}
代码示例来源:origin: apache/storm
public static Object takeMessage(int port) throws InterruptedException {
readerArrived(port);
return getQueue(port).take();
}
代码示例来源:origin: ethereum/ethereumj
@Override
public synchronized T take() throws InterruptedException {
if (isEmpty()) {
return super.take();
} else {
T ret = Collections.min(this, (Comparator<? super T>) comparator);
remove(ret);
return ret;
}
}
代码示例来源:origin: alibaba/jstorm
@Override
public void run() {
try {
RunnableCallback r = queue.take();
if (r == null) {
return;
}
r.run();
e = r.error();
processInc();
} catch (InterruptedException e) {
LOG.info("Interrupted when processing event.");
}
}
}
代码示例来源:origin: apache/zookeeper
@Override
public void run() {
Random rand = new Random(Thread.currentThread().getId());
try {
while(true) {
// If it is a read-only test, there will be no proposals..
if (!proposals.isEmpty()){
Request request = proposals.take();
Thread.sleep(5 + rand.nextInt(95));
commitProcessor.commit(request);
}
}
} catch (InterruptedException e) {
// ignore
}
}
代码示例来源:origin: jankotek/mapdb
public void realRun() throws InterruptedException {
threadsStarted.await();
assertSame(one, q.take());
}});
}
代码示例来源:origin: jankotek/mapdb
/**
* take retrieves elements in FIFO order
*/
public void testTake() throws InterruptedException {
LinkedBlockingQueue q = populatedQueue(SIZE);
for (int i = 0; i < SIZE; ++i) {
assertEquals(i, q.take());
}
}
代码示例来源:origin: jankotek/mapdb
/**
* An add following remove(x) succeeds
*/
public void testRemoveElementAndAdd() throws InterruptedException {
LinkedBlockingQueue q = new LinkedBlockingQueue();
assertTrue(q.add(new Integer(1)));
assertTrue(q.add(new Integer(2)));
assertTrue(q.remove(new Integer(1)));
assertTrue(q.remove(new Integer(2)));
assertTrue(q.add(new Integer(3)));
assertNotNull(q.take());
}
代码示例来源:origin: apache/rocketmq
@Override
public void run() {
log.info(this.getServiceName() + " service started");
while (!this.isStopped()) {
try {
PullRequest pullRequest = this.pullRequestQueue.take();
this.pullMessage(pullRequest);
} catch (InterruptedException ignored) {
} catch (Exception e) {
log.error("Pull Message Service Run Method exception", e);
}
}
log.info(this.getServiceName() + " service end");
}
内容来源于网络,如有侵权,请联系作者删除!