Revisar las correcciones. No cambies el enunciado. Con el diseño como lo tenés hasta ahora te va a pasar de que vas a crear y destruir hilos workers por cada operación que te llega del estandar input. Los workers se deben crear al principio, y estos procesarán todas las peticiones dle usuario hasta que se finalice la ejecución. Recomiendo repases la clase de cola bloqueante para poder comunicar a estos hilos workers de forma segura (no hagas una cola protegida solamente porque vas a tener un busy wait y va a haber problemas). Mas aun, te recomiendo que implementes una BoundedQueue, y que solo el hilo main sea el encargado de generar las particiones, pasandolás a los worker por dicha cola.
OJO con allocar tantos elementos en el heap. Esto no es Java, el operador new debe ser debidamente justificado su uso.
Revisar las correcciones. No cambies el enunciado. Con el diseño como lo tenés hasta ahora te va a pasar de que vas a crear y destruir hilos workers por cada operación que te llega del estandar input. Los workers se deben crear al principio, y estos procesarán todas las peticiones dle usuario hasta que se finalice la ejecución. Recomiendo repases la clase de cola bloqueante para poder comunicar a estos hilos workers de forma segura (no hagas una cola protegida solamente porque vas a tener un busy wait y va a haber problemas). Mas aun, te recomiendo que implementes una BoundedQueue, y que solo el hilo main sea el encargado de generar las particiones, pasandolás a los worker por dicha cola.
OJO con allocar tantos elementos en el heap. Esto no es Java, el operador
new
debe ser debidamente justificado su uso.