comment appeler une méthode immédiatement après que le thread run() se termine?
Je veux appeler une méthode qui renvoie une chaîne de valeur. En fait, cette chaîne de valeur est une variable d'instance, et run()
méthode de mettre la valeur de la chaîne.
Donc, je veux appeler une méthode pour obtenir la chaîne de valeur mis à jour par fil run()
méthode..
Comment puis-je faire...?
OriginalL'auteur Saravanan | 2010-09-30
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur Steve Emmerson
Découvrez Callable qui est un Exécutable qui peut retourner un résultat.
Vous l'utiliser comme ceci:
Vous écrire un Callable au lieu d'un Exécutable, par exemple:
Vous le coup de pied de en le soumettant à une ExecutionService:
Vous obtenez de nouveau le FutureTask poignée qui va contenir le résultat une fois que la tâche est terminée:
FutureTask fournit plusieurs méthodes, comme
cancel
,isDone
etisCancelled
pour annuler l'exécution et de demander le statut. La méthode get est lui-même le blocage et attend la fin de la tâche. consultez la javadoc pour plus de détails.Vous avez raison, j'ai juste changé la donne.
OriginalL'auteur Tim Büthe
Utiliser un
Callable<String>
au lieu, de le soumettre à uneExecutorService
, et ensuite appelerget()
sur leFuture<String>
il retourne quand vous le soumettre.Ahh ouais, Tim a pris ma réponse, et vous a donné un bon exemple, donc je vais en rester là.
OriginalL'auteur Mark Peters