J'ai besoin d'une liste en Java avec une capacité fixe mais qui permette toujours aux threads d'ajouter des éléments au début. S'il est plein, il faut retirer un objet de la fin pour faire de la place. Aucun autre processus ne supprimera les éléments, mais d'autres processus souhaiteront itérer sur les éléments.Comment puis-je atomiquement "mettre en file d'attente si l'espace libre OU dequeue puis mettre en file d'attente" pour une file/liste Java?
Y a-t-il quelque chose dans le JDK qui me permettrait de le faire de manière atomique? Mon plan actuel consiste simplement à utiliser une collection threadsafe existante (par exemple LinkedBlockingQueue) et à la synchroniser davantage lorsque je vérifie la capacité/ajouter/supprimer. Cela fonctionnerait-il aussi?
Merci.
Cas d'utilisation intéressant qui ne semble pas être couvert par le JDK. – starblue