El error “aparente” en la impresión a consola, donde aparece primero que el consumidor consume y después el productor produce, tiene que ver con el SO y cómo maneja instrucciones de los hilos. Las 2 instrucciones de System.out.print se intentan ejecutar al mismo tiempo y al tener la misma prioridad para el SO, toma la instrucción que quiera jajajajaja Para solucionarlo podríamos hacer que el programa 1. Imprimir que productor produce 2. Ejecutar el método synchronized de producir 3. Ejecutar el método synchronized de consumir 4. Imprimir que el consumidor consume. Como dije, es un error aparente ya que el programa en funcionalidad es correcto.
Hola, igual un poco tarde para responderte a esto jajaj pero si encontré la respuesta, yo lo hice todo en la misma clase general y si colocas la clase productor antes que la clase consumidor sale correctamente
Me toco hacer este mismo pero con dos consumidores que consumen el mismo producto a la vez , no hay interferencia por qué solo lo leen como puedo hacerlo ?
Gracias brother.
El error “aparente” en la impresión a consola, donde aparece primero que el consumidor consume y después el productor produce, tiene que ver con el SO y cómo maneja instrucciones de los hilos.
Las 2 instrucciones de System.out.print se intentan ejecutar al mismo tiempo y al tener la misma prioridad para el SO, toma la instrucción que quiera jajajajaja
Para solucionarlo podríamos hacer que el programa
1. Imprimir que productor produce
2. Ejecutar el método synchronized de producir
3. Ejecutar el método synchronized de consumir
4. Imprimir que el consumidor consume.
Como dije, es un error aparente ya que el programa en funcionalidad es correcto.
Gracias crack!
Porque cuando se corre el programa la primera línea sale como recogido si se supone que el arreglo está vacío?
encontraste respuesta?
Hola, igual un poco tarde para responderte a esto jajaj pero si encontré la respuesta, yo lo hice todo en la misma clase general y si colocas la clase productor antes que la clase consumidor sale correctamente
Me toco hacer este mismo pero con dos consumidores que consumen el mismo producto a la vez , no hay interferencia por qué solo lo leen como puedo hacerlo ?
Grandr amigo
Como haces para llamar el metodo start?
Para llamar al metodo start tienes que tener el metodo run() que extiende de la clase Thread