IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Je ne comprends toujours pas l'intêret du runnable et du callable


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 101
    Par défaut Je ne comprends toujours pas l'intêret du runnable et du callable
    Bonsoir,

    Je suis perdu sur un sujet: l'utilité de se servir d'un callable ou d'un runnable. J'ai beau avoir fait des recherches, je ne vois pas leur intérêt. De ce fait, je viens vous demander de l'aide en urgence.

    Je vous remercie d'avance pour la prise en considération de cette question.

    Cordialement,

    Vinz33

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2013
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 131
    Par défaut
    Salut,

    Un runnable ou callable est le code qui sera execute lors du demarrage d'un thread via la method run() pour Runnable ou call() pour Callable.

    Prend pour exemple un programme de protection de donnees qui verifierai sur demande la verification du contenu d'un fichier.
    A savoir est ce qu'il contient par exemple un numero de carte bleu, ou bien un IP, ou tout autre type de donnees qui pourrait etre interdit.

    La verification d'un fichier peut etre tres longue, tout dependra de l'algorythme utilise, la qualite du code, de la taille du fichier etc. Cela pourrait prendre plusieurs minutes voir plusieurs heures.
    Tu ne souhaites pas que ton programme soit bloque pendant ce temps la.
    Une des solutions est donc de lancer la verification sur un thread separe de tel maniere que le thread principal de ton programme ne soit pas en attente du resultat.

    Pour ce faire tu implementeras donc un Runnable/Callable dont l'unique methode run()/call() executeras la verification du fichier sur le thread fraichement cree.

    Pour la difference entre Runnable et Callable tu peux lire enormement sur ce sujet mais une des grosses differents est que la method Runnable.run() ne retourne pas de valeur ou exception alors que Callable.call() oui.

    J'espere avoir ete claire.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 101
    Par défaut
    Merci pour la réponse à la question.

Discussions similaires

  1. [RMI] ClassNotFoundException que je ne comprends tjs pas
    Par Satch dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 10/05/2007, 12h07
  2. Réponses: 4
    Dernier message: 29/05/2006, 05h48
  3. N'arrive toujours pas à règler son problème de lettres
    Par Antigonos Ier Gonatas dans le forum C++
    Réponses: 3
    Dernier message: 04/04/2006, 00h05
  4. Réponses: 8
    Dernier message: 16/09/2003, 19h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo