Solución de productor y consumidor usando BlockingQueue en Java Thread

El problema productor-consumidor es un problema de sincronización que surge cuando uno o más subprocesos generan datos, colocándolos en un búfer y, simultáneamente, uno o más subprocesos consumen datos del mismo búfer.  Si lo hace, puede provocar una condición de carrera en la que los subprocesos compiten entre sí para completar su tarea. En este … Continue reading «Solución de productor y consumidor usando BlockingQueue en Java Thread»

Método BlockingQueue take() en Java con ejemplos

El método take() de la interfaz BlockingQueue se usa para recuperar y eliminar el encabezado de esta cola. Si la cola está vacía, esperará hasta que un elemento esté disponible. Este método es más eficiente si se trabaja en subprocesos y se usa BlockingQueue en ese proceso. Entonces, el subproceso que inicialmente llama a take() … Continue reading «Método BlockingQueue take() en Java con ejemplos»

Método BlockingQueue offer() en Java con ejemplos

Hay dos tipos de método de oferta() para la interfaz BlockingQueue: Nota : el método de oferta() de BlockingQueue se ha heredado de la clase Queue en Java.  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 BlockingQueue inserta … Continue reading «Método BlockingQueue offer() en Java con ejemplos»

Método BlockingQueue poll() en Java con ejemplos

El método de encuesta (tiempo de espera prolongado, unidad de unidad de tiempo) de la interfaz BlockingQueue devuelve el encabezado de BlockingQueue eliminando ese elemento de la cola. Se puede decir que este método recupera y elimina el elemento del encabezado de esta LinkedBlockingQueue. Si la cola está vacía, el método poll() esperará hasta un … Continue reading «Método BlockingQueue poll() en Java con ejemplos»

Interfaz BlockingQueue en Java

La interfaz BlockingQueue en Java se agrega en Java 1.5 junto con varias otras clases de utilidades concurrentes como ConcurrentHashMap , Counting Semaphore , CopyOnWriteArrrayLis t, etc. La interfaz BlockingQueue admite el control de flujo (además de la cola) al introducir el bloqueo si BlockingQueue está lleno o vacío. Un subproceso que intenta poner en … Continue reading «Interfaz BlockingQueue en Java»

Método BlockingQueue que queda de la capacidad() en Java con ejemplos

El método restante de la capacidad() de BlockingQueue devuelve la cantidad de elementos adicionales que se pueden agregar a BlockingQueue sin bloquear. La Capacidad devuelta surge en tres supuestos: Si la capacidad restante es cero, no se pueden agregar más elementos a BlockingQueue. Si la capacidad restante de BlockingQueue es igual al tamaño de la … Continue reading «Método BlockingQueue que queda de la capacidad() en Java con ejemplos»

Método BlockingQueue remove() en Java con ejemplos

El método remove(Object obj) de BlockingQueue elimina solo una instancia del Objeto dado, pasado como parámetro, de esta BlockingQueue si está presente. Elimina un elemento e tal que obj.equals(e) y si esta cola contiene una o más instancias del elemento e. Este método devuelve verdadero si esta cola contenía el elemento que ahora se elimina … Continue reading «Método BlockingQueue remove() en Java con ejemplos»

Método BlockingQueue DrainTo() en Java con ejemplos

El método DrainTo(Collection col) de BlockingQueue elimina todos los elementos disponibles de esta LinkedBlocking Queue y los agrega a la colección dada pasada como parámetro. Nota : el método DrainTo() de BlockingQueue se ha heredado de la clase Queue en Java. drenajeA(Colección<? super E> col) El método DrainTo(Collection<? super E> col) de la interfaz BlockingQueue … Continue reading «Método BlockingQueue DrainTo() en Java con ejemplos»

Método BlockingQueue put() en Java con ejemplos

El método put(E e) de la interfaz BlockingQueue inserta el elemento pasado como parámetro al método al final de esta BlockingQueue, si la cola no está llena. Si la cola está llena, este método esperará a que haya espacio disponible y, una vez que haya espacio disponible, insertará el elemento en BlockingQueue.  Sintaxis:   public void … Continue reading «Método BlockingQueue put() en Java con ejemplos»

Método BlockingQueue contains() en Java con ejemplos

El método contains(Object o) de la interfaz BlockingQueue comprueba si el elemento pasado en el parámetro existe en el contenedor o no. Devuelve verdadero si el elemento existe en el contenedor; de lo contrario, devuelve un valor falso. Sintaxis: public boolean contains(Object o) Parámetros: Este método acepta un parámetro obligatorio o cuya presencia en el … Continue reading «Método BlockingQueue contains() en Java con ejemplos»