Je souhaite écrire une classe qui gère de nombreuses temporisations pour différents objets, avec la possibilité de notifier ou même d'exécuter une tâche lorsque le temporisateur est terminé, ainsi que d'annuler un temporisateur.Gestion de plusieurs temporisateurs
Par exemple, si j'ai un objet x de type X avec 3 secondes minuterie qui représente l'événement d'assurance-emploi veulent être en mesure de: 1. savoir quand il est fini et faire quelque chose à ce sujet 2. Annuler si nécessaire avant d' expire
J'ai implémenté quelque chose moi-même mais je suis sûr que les bibliothèques peuvent offrir beaucoup plus. J'ai regardé ScheduledPoolExecutor mais cela ne correspond pas vraiment à mes besoins pour plusieurs raisons, comme le fait que je puisse être un seul thread et pouvoir y passer mon propre "thread".
J'ai également regardé Timer mais il a un Thread en arrière-plan pour chaque instance de Timer et c'est un gros overhead que je ne peux pas permettre.
Des idées?
Pourquoi essayez-vous d'annuler préventivement une tâche et que voulez-vous faire quand il complète? Ce que je demande vraiment, c'est que vous essayez de réinventer CompletionStages? –
@DavidEhrmann disons que j'ai programmé une minuterie de 5 secondes pour Timeout pour un socket réseau, mais après 2 secondes, il a reçu quelques octets, maintenant je voudrais annuler ce minuteur et en définir un nouveau. – slashms
@HotAppleCyber pas sûr que j'ai compris votre solution ... – slashms