Productor y Código de Consumo en Java

En este artículo, vamos a estar buscando en problema del consumidor y productor en Java y nosotros estaríamos escribiendo un código java para poner en práctica el concepto de consumidores y productores en Java .

Esto también nos ayuda a entender el concepto de sincronización multi-threading en Java, el trabajo básico de nuestro código es que el productor producirá un hilo y cargarlo en la memoria y después de producir el hilo productor estaríamos carga el hilo consumidor para producir un hilo consumible que consumirá el valor de la rosca productos.

Básicamente, estaríamos creando dos clases nombradas como productor y class consumidor.

El class productor va a correr un hilo productor que se define como el método put y después de correr de hilo productor usaremos class consumidor para ejecutar el hilo consumidor que es básicamente el método get.

A continuación se muestra el código de Java escrita class la misma

package cp;
class value
{
int n;
int value=0;
synchronized int get()
{
if(value==0)
try
{
wait(1000);
}
catch(InterruptedException e)
{
System.out.println("Exception caught");
}
System.out.println("consumed the value:"+n);
value=0;
notify();
return n;
}
synchronized void put(int n)
{
if(value==1)
try
{
wait(1000);
}
catch(InterruptedException e)
{
System.out.println("exception");
}
this.n=n;
value=1;
System.out.println("produced:"+n);
notify();
}
}
class Produce implements Runnable
{
value first;
Produce(value first)
{
this.first=first;
new Thread(this,"Produce").start();
}
public void run()
{
int i=0;
while(i<10)
{
first.put(i++);
}
}
}
class Consume implements Runnable
{
value second;
Consume(value second)
{
this.second=second ;
new Thread(this,"Consum").start();
}
public void run()
{
int i=0;
while(i<10)
{
second.get();
i++;
}
}
}
public class Produceconsume
{
public static void main(String[] args)
{
value first=new value();
new Produce(first);
new Consume(first);
}
}

salida

produced:0
consumed the value:0
produced:1
consumed the value:1
produced:2
consumed the value:2
produced:3
consumed the value:3
produced:4
consumed the value:4
produced:5
consumed the value:5
produced:6
consumed the value:6
produced:7
consumed the value:7
produced:8
consumed the value:8
produced:9
consumed the value:9

hemos utilizado un bucle while aquí para crear 10 hilos de productores y sus respectivos hilos de consumo. Espero que haya entendido el concepto básico de hilos productores y consumidores , hay numerosos códigos disponibles productor for y las roscas de los consumidores en línea, una vez que desarrollar la comprensión de que puede escribir su propio código también. Tienen un gran día por delante y el aprendizaje feliz.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *