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 :

Créer une méthode avec un timeout


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 382
    Par défaut Créer une méthode avec un timeout
    Bonjour,

    j'aimerais savoir comment faire pour générer une méthode qui emet une exception timeout si le temps d'éxécution est trop long ? en effet, je dispose actuellement d'une méthode dont le temps d'éxécution met de 20 à 60 secondes. J'aimerais déclencher une exception au bout d'un temps x et bien sur arrêter le traitement de la méthode mais comment faire ?

    merci

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    c'est à toi, dans ta méthode, de mesurer ton temps de calcul et d'arrêter si tu dépasse un délai en lancant, par exemple, une exception. On ne peux pas le faire de l'extérieur de la méthode.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 382
    Par défaut
    donc je ne peux rien faire ici ?....

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    si tu veux le faire de l'extérieur, pas possible. En meme temps, tu prend la boucle de ton code qui prend le plus de temps et tu fait des check de temps dedans.

  5. #5
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 402
    Par défaut
    Il y a peut-etre moyen de le faire à l'exterieur avec un multi-thread
    A voir

  6. #6
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 679
    Par défaut
    Oui mais justement s'il confie a un autre thread la tache de mesurer le délai, alors, il ne pourra pas interrompre directement le thread qui s'occupe du traitement.

  7. #7
    Membre averti
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 40
    Par défaut
    Bonjour,
    comme l'a dit zouuc, je pense qu'il devrait y avoir moyen au moyen d'un thread qui serait lancer juste avant ton instruction bloquante.

    Ce thread ne ferais que lancer une exception qui serait a catché dans ta méthode au bout de X temps. Si tu a fini ton traitement avant la fin du temps, il suffit de faire appel à une méthode de ton thread qui ferme celui ci ou qui coupe du moins ton timer.

    Le fait que tu catch cette exception coupera l'effet bloquant.

    A plus tard

    ____________________________________________

    seulement 10 personnes peuvent comprendre ceci...

Discussions similaires

  1. Créer une méthode avec string.
    Par trainingevth dans le forum C++
    Réponses: 11
    Dernier message: 13/03/2015, 14h02
  2. Réponses: 2
    Dernier message: 18/11/2011, 16h57
  3. Réponses: 1
    Dernier message: 05/10/2009, 22h13
  4. Créer une grille avec centage
    Par lil_jam63 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 16/08/2004, 16h21
  5. [Image]Créer une image avec JAVA 1.1
    Par burno dans le forum 2D
    Réponses: 4
    Dernier message: 11/08/2004, 09h19

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