Question

Dans mon code appelable j'utilise la signalisation pour informer les comportements Ending multiples à un autre thread. Les objets appelables sont mis en attente avec FutureTasks dans un exécuteur testamentaire. Ils peuvent également être annulées après avoir été mis en attente vers le haut.

Maintenant, mon problème est que je compte sur les tâches atleast étant commencé pour ma signalisation au travail, mais il semble que l'Exécuteur saute tout simplement une tâche si elle a été marquée comme annulée avant qu'il a eu la chance de le lancer.

Alors, est-il un moyen de tâche qu'une garantie démarre toujours, et toujours annulé (par InterruptedException) lors de l'exécution.

Aussi, pouvez-vous vérifier si une tâche n'a pas encore commencé, mais a échoué?

Était-ce utile?

La solution

Vous pouvez probablement sous-classe classe FutureTask et passer outre son done () procédé pour effectuer la signalisation. Selon la documentation, cette méthode doit être appelée même si la tâche a été annulée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top