Assurer la sécurité des threads d'une ArrayList en Java
Problème : Une ArrayList utilisée pour stocker des objets Thread (RaceCar ) dans une simulation de course nécessite une sécurité des threads pour maintenir le bon ordre des finissants. La tentative initiale de synchronisation de l'ArrayList à l'aide de Collections.synchronizedCollection() a entraîné une erreur du compilateur.
Analyse :
Collections.synchronizedCollection() ne peut synchroniser que les implémentations non-List Collection. Pour synchroniser spécifiquement une ArrayList, utilisez Collections.synchronizedList().
Solution :
<code class="java">finishingOrder = Collections.synchronizedList(new ArrayList<>(numberOfRaceCars));</code>
Ce code crée correctement une ArrayList thread-safe pour stocker les objets RaceCar et maintenir l'ordre des finissants.
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!