Maison >Java >javaDidacticiel >Comment pouvez-vous garantir la sécurité des threads pour une liste de tableaux d'objets Thread en Java ?

Comment pouvez-vous garantir la sécurité des threads pour une liste de tableaux d'objets Thread en Java ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-27 01:47:03544parcourir

How Can You Ensure Thread-Safety for an ArrayList of Thread Objects in Java?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn