Maison >Java >javaDidacticiel >Comment implémenter un ExecutorService neutre en Java ?

Comment implémenter un ExecutorService neutre en Java ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-04 00:37:03608parcourir

How to Implement a Thread-Neutral ExecutorService in Java?

Implémentation d'un ExecutorService neutre en termes de threads

Dans la programmation Java, l'interface ExecutorService fournit un moyen pratique de gérer les threads pour exécuter des tâches. Cependant, il peut parfois être nécessaire d'avoir un service d'exécution qui fonctionne sur le thread actuel au lieu de créer des threads séparés.

L'extrait de code fourni tente de répondre à cette exigence en créant conditionnellement un CurrentThreadExecutor lorsque le nombre de threads est spécifié comme zéro, sinon en utilisant le standard Executors.newThreadPoolExecutor. Cependant, cette approche a des limites et n'est pas idéale pour les situations où le code s'appuie sur des pools de threads.

Solution Java 8

Une solution plus rationalisée qui évite ces inconvénients est disponible dans Java 8. en tirant parti de la référence de la méthode Runnable::run, vous pouvez créer un exécuteur qui appelle simplement la tâche directement sur le thread actuel :

<code class="java">Executor e = Runnable::run;</code>

Cette approche garantit que l'exécution des tâches n'implique aucune surcharge de thread supplémentaire ou gestion du pool de threads, ce qui en fait un remplacement approprié pour les scénarios dans lesquels l'exécution du pool de threads n'est pas souhaitée.

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