本文整理了Java中com.lmax.disruptor.WaitStrategy.waitFor()
方法的一些代码示例,展示了WaitStrategy.waitFor()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。WaitStrategy.waitFor()
方法的具体详情如下:
包路径:com.lmax.disruptor.WaitStrategy
类名称:WaitStrategy
方法名:waitFor
[英]Wait for the given sequence to be available. It is possible for this method to return a value less than the sequence number supplied depending on the implementation of the WaitStrategy. A common use for this is to signal a timeout. Any EventProcessor that is using a WaitStrategy to get notifications about message becoming available should remember to handle this case. The BatchEventProcessor explicitly handles this case and will signal a timeout if required.
[中]等待给定的序列可用。根据WaitStrategy的实现,此方法返回的值可能小于提供的序列号。这种方法的一个常见用途是发出超时信号。任何使用WaitStrategy获取消息可用通知的EventProcessor都应该记住处理这种情况。BatchEventProcessor会显式处理这种情况,并在需要时发出超时信号。
代码示例来源:origin: LMAX-Exchange/disruptor
@Override
public long waitFor(final long sequence)
throws AlertException, InterruptedException, TimeoutException
{
checkAlert();
long availableSequence = waitStrategy.waitFor(sequence, cursorSequence, dependentSequence, this);
if (availableSequence < sequence)
{
return availableSequence;
}
return sequencer.getHighestPublishedSequence(sequence, availableSequence);
}
代码示例来源:origin: LMAX-Exchange/disruptor
if (timeDelta > yieldTimeoutNanos)
return fallbackStrategy.waitFor(sequence, cursor, dependentSequence, barrier);
代码示例来源:origin: LMAX-Exchange/disruptor
public static void assertWaitForWithDelayOf(long sleepTimeMillis, WaitStrategy waitStrategy)
throws InterruptedException, BrokenBarrierException, AlertException, TimeoutException
{
SequenceUpdater sequenceUpdater = new SequenceUpdater(sleepTimeMillis, waitStrategy);
EXECUTOR.execute(sequenceUpdater);
sequenceUpdater.waitForStartup();
Sequence cursor = new Sequence(0);
long sequence = waitStrategy.waitFor(0, cursor, sequenceUpdater.sequence, new DummySequenceBarrier());
assertThat(sequence, is(0L));
}
}
代码示例来源:origin: com.lmax/disruptor
@Override
public long waitFor(final long sequence)
throws AlertException, InterruptedException, TimeoutException
{
checkAlert();
long availableSequence = waitStrategy.waitFor(sequence, cursorSequence, dependentSequence, this);
if (availableSequence < sequence)
{
return availableSequence;
}
return sequencer.getHighestPublishedSequence(sequence, availableSequence);
}
代码示例来源:origin: com.lmax/disruptor
if (timeDelta > yieldTimeoutNanos)
return fallbackStrategy.waitFor(sequence, cursor, dependentSequence, barrier);
代码示例来源:origin: camunda/camunda-bpm-reactor
@Override
public long waitFor(long sequence, Sequence cursor, Sequence dependentSequence, SequenceBarrier barrier)
throws AlertException, InterruptedException, TimeoutException {
return currentStrategy.waitFor(sequence, cursor, dependentSequence, barrier);
}
代码示例来源:origin: xiaoguichao/mr
if (timeDelta > yieldTimeoutNanos)
return fallbackStrategy.waitFor(sequence, cursor, dependentSequence, barrier);
代码示例来源:origin: harbby/presto-connectors
@Override
public long waitFor(final long sequence)
throws AlertException, InterruptedException, TimeoutException
{
checkAlert();
long availableSequence = waitStrategy.waitFor(sequence, cursorSequence, dependentSequence, this);
if (availableSequence < sequence)
{
return availableSequence;
}
return sequencer.getHighestPublishedSequence(sequence, availableSequence);
}
代码示例来源:origin: harbby/presto-connectors
if (timeDelta > yieldTimeoutNanos)
return fallbackStrategy.waitFor(sequence, cursor, dependentSequence, barrier);
代码示例来源:origin: mzheravin/exchange-core
@Override
public long waitFor(final long sequence)
throws AlertException, InterruptedException, TimeoutException {
checkAlert();
long availableSequence = waitStrategy.waitFor(sequence, cursorSequence, dependentSequence, this);
if (availableSequence < sequence) {
return availableSequence;
}
return sequencer.getHighestPublishedSequence(sequence, availableSequence);
}
代码示例来源:origin: xiaoguichao/mr
@Override
public long waitFor(final long sequence)
throws AlertException, InterruptedException, TimeoutException
{
checkAlert();
long availableSequence = waitStrategy.waitFor(sequence, cursorSequence, dependentSequence, this);
if (availableSequence < sequence)
{
return availableSequence;
}
return sequencer.getHighestPublishedSequence(sequence, availableSequence);
}
代码示例来源:origin: mzheravin/exchange-core
if (timeDelta > yieldTimeoutNanos)
return fallbackStrategy.waitFor(sequence, cursor, dependentSequence, barrier);
内容来源于网络,如有侵权,请联系作者删除!