Comment exécuter simultanément des tâches et synchroniser l'achèvement en Java
Lorsque plusieurs tâches doivent s'exécuter simultanément en Java, le threading est une technique courante. Cependant, il est souvent nécessaire de synchroniser ces threads pour garantir leur achèvement avant de continuer. Cette question explore un scénario dans lequel plusieurs threads sont créés et exécutés en boucle, et comment mettre le thread principal en pause jusqu'à ce qu'ils soient tous terminés.
Solution : utiliser Thread.join()
Pour obtenir une complétion synchronisée, vous pouvez utiliser la méthode join(). En plaçant les threads dans un tableau puis en les démarrant, vous pouvez facilement suspendre le thread principal à l'aide d'une boucle qui parcourt le tableau :
<code class="java">for(i = 0; i < threads.length; i++) threads[i].join();</code>
L'opération join() pour chaque thread se bloque jusqu'à ce que ce thread se termine . Même si les fils de discussion peuvent se terminer dans un ordre différent de l'ordre dans lequel ils ont été joints, cela n'affecte pas le résultat escompté. Une fois la boucle terminée, tous les threads auront terminé leur exécution, garantissant que le thread principal peut continuer.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!