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

AWT/Swing Java Discussion :

[Thread] [synchronised] utilisation sans thread


Sujet :

AWT/Swing Java

  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Par défaut [Thread] [synchronised] utilisation sans thread
    Bonjour,

    Ma question est très simple : peut on utiliser sans risque une méthode synchronised sans l'utilisation d'un thread.
    Dans mon cas un programme se lance utilise des méthodes synchronised puis lance des threads. Est ce que cela est angeureux ?

    Merci

  2. #2
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Je ne comprends pas trop ce que tu veux faire.

    Un exemple d'utilisation ou un bout de code serait le bienvenu

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par philippe13
    Bonjour,

    Ma question est très simple : peut on utiliser sans risque une méthode synchronised sans l'utilisation d'un thread.
    Dans mon cas un programme se lance utilise des méthodes synchronised puis lance des threads. Est ce que cela est angeureux ?

    Merci
    en soi non,
    mais si vous avez "syncronized" une méthode qui ne doit pas l'être au mieux vous pénalisez seulement le temps d'exécution, au pire vous risquez de provoquer des dead locks…

    mais sans connaître la logique de votre code il n'y a pas de réponse définitive…

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Par défaut
    Bonsoir,

    Je fais une appli avec la quelle on peut changer des informations contenues dans des fichiers text. Ces actions sont faites dans des threads ("fait à la volé").
    Par ailleur de façon rédulière ces fichiers sont envoyés par FTP par un Thread. C'est mon thread général. Pour éviter tous conflies d'accès aux resources je souhaitais rendre la méthode d'accès aux fichier synchronized.
    Mais pour finir avant de lancer mon thread général et mon appli j'utilise ma class d'accès aux fichiers sans que soit un tread. Cela me sert à verifier l'existance des fichiers, les télécharger si nécessaire, etc... D'où ma question.

    J'espère que là j'ai été un peu plus claire.

  5. #5
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    J'ai écrit un tuto sur les threads, ça pourrait t'aider:
    http://rom.developpez.com/java-synchronisation

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Par défaut
    Bonsoir ®om,

    Je n'ai pas lu ton tuto et je le regrette... :-). Mais j'ai lu des livres à ce sujet. Et tous les exemples que j'ai lu n'illustré pas mon cas.
    Autre question, si un intervenant exterieur demande l'accès à la resource sans passé par l'appli, est ce que c'est pris en charge par un verrou ou pas.
    Car comme tu le dis dans ton tuto faire une boucle while qui s'arrêt qu'après accès à la ressource c'est null.

    Est ce que la solution de liste bloquante abordée à la fin de ton tuto est une bonne piste ?

  7. #7
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Par défaut
    Bonjour à tous,

    Je crois avoir compris....Enfin j'espère que vous me direz si c'est une bonne solution.
    En effet j'ai déjà naturellement des verrous par les exceptions qui sont levées lors de l'accès à des fichiers. Donc est ce qu'en faisant :

    Dans mes threads
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    while(true)
    {
    try{
    resource.acces(chemin);
    break;
    }
    catch(IOException e){sleep(10);}
    }
    Il est vrai que c'est un peu du bricolage. Mais même si un intervenant exterieur accéde à la resource ça devrai marcher.

    Qu'en pensez vous ?

  8. #8
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Ah ce que tu veux, ça n'est pas un verrou java, mais un verrou sur un fichier, c'est bien ça?

    Si c'est ça, il y a la classe FileLock !

  9. #9
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Par défaut
    Oui c'est exactement ce que je cherchais en fait!
    Merci beaucoup et bonne journée à tous!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utiliser les threads POSIX sans OS
    Par Marc9101 dans le forum POSIX
    Réponses: 9
    Dernier message: 05/06/2015, 16h59
  2. Réponses: 1
    Dernier message: 23/05/2005, 15h52
  3. [Thread] synchronisation globale
    Par guejo dans le forum Concurrence et multi-thread
    Réponses: 6
    Dernier message: 16/02/2005, 11h56
  4. [Thread][Synchronisation] Exclusion mutuelle
    Par masto dans le forum Concurrence et multi-thread
    Réponses: 8
    Dernier message: 20/01/2005, 16h02
  5. Synchronisation entre 2 threads
    Par bodbod dans le forum C++
    Réponses: 8
    Dernier message: 20/08/2004, 18h29

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