J'ai une fonction qui prend 2 fonctions, une qui surveille un certain événement et une autre qui fait réellement le travail, chacune s'exécute dans un futur, dès que le futur événement renvoie un échec, le thread appelant signale au futur travailleur de s'arrêter. Si le thread travailleur se termine avant que l'événement ne soit reçu, le thread appelant signale alors à l'observateur de s'arrêter, puis l'appelant revient.
Cela fonctionne bien mais le problème est que la fonction worker qui fait le travail réel peut avoir besoin de vérifier d'autres événements en aval, chaque fois que je dois surveiller un certain événement, je lance 2 futures supplémentaires. La question est de savoir s'il y a une limite au nombre maximum de futures en cours d'exécution. Je peux me retrouver avec 60 futures à certains moments ? Le pool de threads augmentera-t-il en fonction des besoins ? Et comme ils fonctionnent sur un pool de threads, je suppose qu'il n'est pas trop coûteux de les créer ?