Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Tarea de Multihilo | Fundamentos de la Multitarea
Multithreading en Java

bookTarea de Multihilo

Tarea

Se requiere implementar la lógica para crear 100 hilos, cada uno de los cuales calculará el factorial del índice en un bucle y guardará el resultado en el array results. También es necesario esperar a que todos los hilos finalicen antes de mostrar los resultados. (método join() )

Note
Nota

No modifiques nada excepto el método calculateFactorialsInParallel()

Los métodos factorial(), printMassive(), getResults() ya están implementados y no es necesario modificarlos.

factorial(Integer) - calcula el factorial del número proporcionado;

printMassive(BigInteger[]) - imprime el array de resultados en la consola;

getResults() - devuelve el array de resultados (utilizado para pruebas);

SIZE_MASSIVE - constante para definir el tamaño del array (NO MODIFICAR);

results[] - array para almacenar los resultados.

Una vez que haya completado la tarea, diríjase a src/test/java/TaskThreadTest.java y ejecútela

Solo debe haber una prueba para aprobar la primera vez que la ejecute

Cuando realice la tarea correctamente, todas las pruebas deberían aprobarse; si alguna prueba no se aprueba, entonces ha implementado calculateFactorialsInParallel() de forma incorrecta o ha modificado aquellos campos/métodos que no deben cambiarse

Plan de Implementación

  1. Crear un arreglo de hilos: Configurar un arreglo de objetos Thread, donde cada elemento corresponde a un hilo diferente. El tamaño del arreglo debe coincidir con el arreglo que se está procesando (SIZE_MASSIVE = 100).

  2. Inicializar cada hilo: En un bucle que recorra cada elemento del arreglo, crear un nuevo hilo. Dentro de este hilo, realizar la tarea requerida (calcular el factorial del índice). Almacenar el resultado en el arreglo de resultados.

  3. Iniciar los hilos: Una vez creado cada hilo, iniciarlo llamando al método start().

  4. Esperar a que todos los hilos finalicen: Después de iniciar todos los hilos, utilizar el método join() en cada hilo para asegurar que el hilo principal del programa espere a que todos los hilos finalicen. Esto garantiza que todos los cálculos estén completos antes de que el hilo principal del programa continúe.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 7

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 3.33

bookTarea de Multihilo

Desliza para mostrar el menú

Tarea

Se requiere implementar la lógica para crear 100 hilos, cada uno de los cuales calculará el factorial del índice en un bucle y guardará el resultado en el array results. También es necesario esperar a que todos los hilos finalicen antes de mostrar los resultados. (método join() )

Note
Nota

No modifiques nada excepto el método calculateFactorialsInParallel()

Los métodos factorial(), printMassive(), getResults() ya están implementados y no es necesario modificarlos.

factorial(Integer) - calcula el factorial del número proporcionado;

printMassive(BigInteger[]) - imprime el array de resultados en la consola;

getResults() - devuelve el array de resultados (utilizado para pruebas);

SIZE_MASSIVE - constante para definir el tamaño del array (NO MODIFICAR);

results[] - array para almacenar los resultados.

Una vez que haya completado la tarea, diríjase a src/test/java/TaskThreadTest.java y ejecútela

Solo debe haber una prueba para aprobar la primera vez que la ejecute

Cuando realice la tarea correctamente, todas las pruebas deberían aprobarse; si alguna prueba no se aprueba, entonces ha implementado calculateFactorialsInParallel() de forma incorrecta o ha modificado aquellos campos/métodos que no deben cambiarse

Plan de Implementación

  1. Crear un arreglo de hilos: Configurar un arreglo de objetos Thread, donde cada elemento corresponde a un hilo diferente. El tamaño del arreglo debe coincidir con el arreglo que se está procesando (SIZE_MASSIVE = 100).

  2. Inicializar cada hilo: En un bucle que recorra cada elemento del arreglo, crear un nuevo hilo. Dentro de este hilo, realizar la tarea requerida (calcular el factorial del índice). Almacenar el resultado en el arreglo de resultados.

  3. Iniciar los hilos: Una vez creado cada hilo, iniciarlo llamando al método start().

  4. Esperar a que todos los hilos finalicen: Después de iniciar todos los hilos, utilizar el método join() en cada hilo para asegurar que el hilo principal del programa espere a que todos los hilos finalicen. Esto garantiza que todos los cálculos estén completos antes de que el hilo principal del programa continúe.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 7
some-alt