java.util.concurrent.DelayQueue#toArray ( )源码实例Demo

下面列出了java.util.concurrent.DelayQueue#toArray ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: openjdk-jdk9   文件: DelayQueueTest.java
/**
 * toArray contains all elements
 */
public void testToArray() throws InterruptedException {
    DelayQueue q = populatedQueue(SIZE);
    Object[] o = q.toArray();
    Arrays.sort(o);
    for (int i = 0; i < o.length; i++)
        assertSame(o[i], q.take());
}
 
源代码2 项目: openjdk-jdk9   文件: DelayQueueTest.java
/**
 * toArray(a) contains all elements
 */
public void testToArray2() {
    DelayQueue<PDelay> q = populatedQueue(SIZE);
    PDelay[] ints = new PDelay[SIZE];
    PDelay[] array = q.toArray(ints);
    assertSame(ints, array);
    Arrays.sort(ints);
    for (int i = 0; i < ints.length; i++)
        assertSame(ints[i], q.remove());
}
 
源代码3 项目: openjdk-jdk9   文件: DelayQueueTest.java
/**
 * toArray(incompatible array type) throws ArrayStoreException
 */
public void testToArray1_BadArg() {
    DelayQueue q = populatedQueue(SIZE);
    try {
        q.toArray(new String[10]);
        shouldThrow();
    } catch (ArrayStoreException success) {}
}
 
源代码4 项目: vespa   文件: RpcConfigSourceClient.java
/**
 * This method will be called when a response with changed config is received from upstream
 * (content or generation has changed) or the server timeout has elapsed.
 *
 * @param config new config
 */
public void updateSubscribers(RawConfig config) {
    log.log(Level.FINE, () -> "Config updated for " + config.getKey() + "," + config.getGeneration());
    DelayQueue<DelayedResponse> responseDelayQueue = delayedResponses.responses();
    log.log(Level.FINEST, () -> "Delayed response queue: " + responseDelayQueue);
    if (responseDelayQueue.size() == 0) {
        log.log(Level.FINE, () -> "There exists no matching element on delayed response queue for " + config.getKey());
        return;
    } else {
        log.log(Level.FINE, () -> "Delayed response queue has " + responseDelayQueue.size() + " elements");
    }
    boolean found = false;
    for (DelayedResponse response : responseDelayQueue.toArray(new DelayedResponse[0])) {
        JRTServerConfigRequest request = response.getRequest();
        if (request.getConfigKey().equals(config.getKey())
                // Generation 0 is special, used when returning empty sentinel config
                && (config.getGeneration() >= request.getRequestGeneration() || config.getGeneration() == 0)) {
            if (delayedResponses.remove(response)) {
                found = true;
                log.log(Level.FINE, () -> "Call returnOkResponse for " + config.getKey() + "," + config.getGeneration());
                rpcServer.returnOkResponse(request, config);
            } else {
                log.log(Level.INFO, "Could not remove " + config.getKey() + " from delayedResponses queue, already removed");
            }
        }
    }
    if (!found) {
        log.log(Level.FINE, () -> "Found no recipient for " + config.getKey() + " in delayed response queue");
    }
    log.log(Level.FINE, () -> "Finished updating config for " + config.getKey() + "," + config.getGeneration());
}
 
源代码5 项目: j2objc   文件: DelayQueueTest.java
/**
 * toArray contains all elements
 */
public void testToArray() throws InterruptedException {
    DelayQueue q = populatedQueue(SIZE);
    Object[] o = q.toArray();
    Arrays.sort(o);
    for (int i = 0; i < o.length; i++)
        assertSame(o[i], q.take());
}
 
源代码6 项目: j2objc   文件: DelayQueueTest.java
/**
 * toArray(a) contains all elements
 */
public void testToArray2() {
    DelayQueue<PDelay> q = populatedQueue(SIZE);
    PDelay[] ints = new PDelay[SIZE];
    PDelay[] array = q.toArray(ints);
    assertSame(ints, array);
    Arrays.sort(ints);
    for (int i = 0; i < ints.length; i++)
        assertSame(ints[i], q.remove());
}
 
源代码7 项目: j2objc   文件: DelayQueueTest.java
/**
 * toArray(incompatible array type) throws ArrayStoreException
 */
public void testToArray1_BadArg() {
    DelayQueue q = populatedQueue(SIZE);
    try {
        q.toArray(new String[10]);
        shouldThrow();
    } catch (ArrayStoreException success) {}
}