oferta (E e, tiempo de espera prolongado, unidad TimeUnit)
El método de oferta (E e, tiempo de espera largo, unidad de unidad de tiempo) de java.util.concurrent.LinkedTransferQueue Class es una función incorporada en Java que inserta el elemento pasado como parámetro al método al final de esta cola, si la cola no es completo.
- Esperará hasta un tiempo específico para que haya espacio disponible si LinkedTransferQueue está lleno.
- El tiempo de espera especificado y TimeUnit para el tiempo se proporcionarán como parámetros para el método de oferta, por lo que esperará hasta ese momento para que LinkedTransferQueue elimine algunos elementos para que el método de oferta pueda agregar elementos a LinkedTransferQueue.
Sintaxis:
public boolean offer(E e, long timeout, TimeUnit unit)
Parámetros: La función acepta los siguientes parámetros:
- e – el elemento a insertar.
- se acabó el tiempo
- unidad : una unidad de tiempo que determina cómo interpretar el parámetro de tiempo de espera
Valor devuelto: el método devuelve un valor booleano verdadero . Como la cola no tiene límites, este método nunca bloqueará ni devolverá falso.
Excepción: la función muestra NullPointerException cuando el elemento especificado es nulo.
Los siguientes programas ilustran el uso de java.util.concurrent.LinkedTransferQueue.offer() :
Programa 1: Para crear LinkedTransferQueue insertando los nombres de los estudiantes usando el método de oferta (E e, tiempo de espera largo, unidad de unidad de tiempo) cuyo parámetro de unidad de tiempo se proporciona en segundos y el parámetro de tiempo de espera es 5 segundos
// Java Program Demonstrate offer() // method of LinkedTransferQueue import java.util.concurrent.*; class GFG { public static void main(String[] args) throws InterruptedException { // create object of LinkedTransferQueue LinkedTransferQueue<Integer> queue = new LinkedTransferQueue<Integer>(); // Add 5 elements to ArrayBlockingQueue having // Timeout in seconds with value 5 secs in // offer(Element e, long timeout, TimeUnit unit) System.out.println("adding 15 " + queue.offer(15, 5, TimeUnit.SECONDS)); System.out.println("adding 25: " + queue.offer(25, 5, TimeUnit.SECONDS)); System.out.println("adding 35: " + queue.offer(35, 5, TimeUnit.SECONDS)); System.out.println("adding 45: " + queue.offer(45, 5, TimeUnit.SECONDS)); System.out.println("adding 55: " + queue.offer(55, 5, TimeUnit.SECONDS)); // print the elements of queue System.out.println("list of numbers of queue: " + queue); } }
adding 15 true adding 25: true adding 35: true adding 45: true adding 55: true list of numbers of queue: [15, 25, 35, 45, 55]
Programa 2: Programa para mostrar NullPointerException.
// Java Program Demonstrate offer() // method of LinkedTransferQueue import java.util.concurrent.*; class GFG { public static void main(String[] args) throws InterruptedException { // Initializing the queue LinkedTransferQueue<Integer> queue = new LinkedTransferQueue<Integer>(); // add elements to queue try { queue.offer(null, 5, TimeUnit.SECONDS); } catch (Exception e) { System.out.println("Exception: " + e); } } }
Exception: java.lang.NullPointerException
oferta(E e)
El método de oferta (E e) de java.util.concurrent.LinkedTransferQueue Class es una función integrada en Java que inserta el elemento e pasado como parámetro al método al final de esta LinkedTransferQueue si la cola tiene espacio, es decir, la cola no está llena. Si la cola está llena, la aplicación del método de oferta() no muestra ningún efecto porque LinkedTransferQueue bloqueará el elemento que se insertará. El método de oferta() devuelve verdadero cuando la operación de adición a LinkedTransferQueue es exitosa y falso si esta cola está llena. Este método es preferible al método add() porque el método add arroja un error cuando la cola está llena, pero el método offer() devuelve falso en tal situación.
Sintaxis:
public boolean offer(E e)
Parámetros: La función acepta un único parámetro, es decir, el elemento a insertar.
Valor devuelto: el método devuelve verdadero después de una inserción exitosa.
Excepción: la función muestra NullPointerException cuando el elemento especificado es nulo.
Programa 1: Adición de strings en la cola.
// Java Program Demonstrate offer() // method of LinkedTransferQueue import java.util.concurrent.*; class GFG { public static void main(String[] args) { // Initializing the queue LinkedTransferQueue<String> queue = new LinkedTransferQueue<String>(); // Adding elements to this queue queue.offer("alex"); queue.offer("bob"); queue.offer("chuck"); queue.offer("drake"); queue.offer("eric"); // Printing the elements of the queue System.out.print("Queue: "); for (String i : queue) System.out.print(i + " "); } }
Queue: alex bob chuck drake eric
Programa 2: Programa para mostrar NullPointerException.
// Java Program Demonstrate offer() // method of LinkedTransferQueue import java.util.concurrent.LinkedTransferQueue; class GFG { public static void main(String[] args) throws InterruptedException { // Initializing the queue LinkedTransferQueue<Integer> queue = new LinkedTransferQueue<Integer>(); // add elements to queue queue.offer(10); queue.offer(20); queue.offer(30); try { queue.offer(null); } catch (Exception e) { System.out.println("Exception: " + e); } } }
Exception: java.lang.NullPointerException
Referencia: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedTransferQueue.html#offer(E)
https://docs.oracle.com/javase/7/docs/ api/java/util/concurrent/LinkedTransferQueue.html#offer(E, %20long, %20java.util.concurrent.TimeUnit)
Publicación traducida automáticamente
Artículo escrito por rupesh_rao y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA