lautarofritz / tp2

0 stars 0 forks source link

Ok, pero complejo #3

Open eldipa opened 4 years ago

eldipa commented 4 years ago

https://github.com/lautarofritz/tp2/blob/f3c7182f49d69408ab7636749923ee538c4298cb/Fabrica.cpp#L62-L85

Una solucion mas simple hubiera sido esperar a que los recolectores terminen (join), ahi cerrar el inventario para q los productores sepan q no habra nuevos recursos y esperar a q ellos terminen (join) y luego imprimir el inventario y los puntos.

Esto te permite controlar todo tu esquema de concurrencia con las colas si necesidad de contadores. No esta mal, pero puede q se vaya de control facilmente (basta con que 1 thread falle y se olvide de decrementar q terminas en un deadlock)

lautarofritz commented 4 years ago

Entonces cada recolector debería hacer join y notificar a la fábrica de que volvió, y ahí la fábrica se despertaría y verificaría que ese recolector haya terminado, y así con cada uno de los recolectores y productores eventualmente? Digo, de todas formas tengo que usar una condition variable para que la fábrica espere no?

De todas formas vi que me pusiste un 9 en el sercom, es necesario que haga estos cambios?

eldipa commented 4 years ago

Esa seria la idea. Y no, no es necesaria la correccion en una nueva entrega. El TP esta bien en general, solo quise marcarte todo lo que pude ver.