Java Queue Usage offerUntilSuccess(T entry, Queue queue)

Here you can find the source of offerUntilSuccess(T entry, Queue queue)

Description

Certain types of queues will fail to java.util.Queue#offer(Object) an item due to many factors depending on the type of queue.

License

Apache License

Parameter

Parameter Description
entry item to queue
queue queue to add the entry to
T type

Declaration

public static <T> void offerUntilSuccess(T entry, Queue<T> queue) 

Method Source Code

//package com.java2s;
/*/* w w  w. ja  va  2 s  . c om*/
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

import java.util.Queue;

public class Main {
    /**
     * Certain types of queues will fail to {@link java.util.Queue#offer(Object)} an item due to many factors
     * depending on the type of queue. <code>offerUntilSuccess</code> will not return until the item has been
     * successfully queued onto the desired queue
     * @param entry item to queue
     * @param queue queue to add the entry to
     * @param <T> type
     */
    public static <T> void offerUntilSuccess(T entry, Queue<T> queue) {
        boolean success;
        do {
            success = queue.offer(entry);
            Thread.yield();
        } while (!success);
    }
}

Related

  1. get(Queue queue, int index)
  2. getAllElementsFromQueueAsList(Queue queue)
  3. isListBased(Class type)
  4. isQueue(final Object value, final boolean acceptNull)
  5. loadBalancingLeftHeavy(List tasks, int size)
  6. parsePathToStack(String path)
  7. pollWhileNotEmpty(Queue queue)
  8. queue(final Queue queue, final Object o, final Class clazz, final boolean removeNull)
  9. randomizeIndex(char[] array)