J'ai un processus qui délègue des tâches asynchrones à un pool de threads. Je dois m'assurer que certaines tâches sont exécutées dans l'ordre. Ainsi, par exempleContrôle de l'ordre d'exécution des tâches avec ExecutorService
tâches arrivent dans l'ordre
Tâches a1, b1, c1, d1, e1, a2, a3, b2, f1
Les tâches peuvent être exécutées dans un ordre quelconque, sauf lorsqu'il y a un la dépendance naturelle, donc a1, a2, a3 doivent être traitées dans cet ordre soit en allouant au même thread ou en les bloquant jusqu'à ce que je sache que la tâche précédente # a été complétée.
Actuellement, il n'utilise pas le package Java Concurrency, mais j'envisage de changer pour profiter de la gestion des threads.
Quelqu'un at-il une solution similaire ou des suggestions sur la façon d'y parvenir
Je ne pense pas que cela fonctionnera avec un pool de threads fixe, comme les fils pourraient tous sur le bloc 'f1.get()' à la fois et dans l'impasse. – finnw
Réglez la taille de la piscine selon le cas. – cletus
Ou utilisez un pool de threads mis en cache. – finnw