"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo garantizar que el hilo principal espere hasta que se completen múltiples procesos de subprocesos?

¿Cómo garantizar que el hilo principal espere hasta que se completen múltiples procesos de subprocesos?

Publicado el 2024-11-11
Navegar:694

How to Ensure the Main Thread Waits for Completion of Multiple Threaded Processes?

Esperando la finalización de múltiples procesos de subprocesos

En este fragmento de código, tiene varios subprocesos creados, cada uno de los cuales ejecuta una tarea dentro de su propio subproceso de ejecución. Para garantizar que el subproceso principal espere a que todos los subprocesos completen su ejecución antes de continuar, puede implementar el siguiente enfoque:

  1. Almacenar subprocesos en una matriz: Crear un matriz para almacenar todos los hilos creados. Esto garantiza un seguimiento organizado de su estado de finalización.
  2. Iniciar todos los hilos: Recorra la matriz de hilos e inicie cada hilo usando el método start().
  3. Unir subprocesos en un bucle: Después de iniciar todos los subprocesos, agregue un bucle para unir cada subproceso en la matriz. El método join() bloquea el hilo de llamada (en este caso, el hilo principal) hasta que el hilo de destino completa su ejecución.
// ... (code as before)

public class DoSomethingInAThread implements Runnable {

    public static void main(String[] args) {
        Thread[] threads = new Thread[1000];  // Assume 1000 threads for example
        
        // Start all threads
        for (int n = 0; n 

Al usar el método join(), el subproceso principal se bloquea hasta que todos los subprocesos hayan completado su ejecución, lo que garantiza que su programa espere a que finalicen todas las tareas antes de continuar con el código que sigue al ciclo. Este enfoque le brinda control y garantiza que los recursos se liberen y que el programa finalice correctamente.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3