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

Concurrence et multi-thread Java Discussion :

synchronized thread


Sujet :

Concurrence et multi-thread Java

  1. #1
    Membre éclairé Avatar de amazircool
    Inscrit en
    Décembre 2005
    Messages
    497
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 497
    Par défaut synchronized thread
    Salut comment je peu exécute ce thread en mode synchronized ?
    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    public class ProTherad extends Thread {
    	protected int count;
    	protected int inc;
    	protected int delai;
     
    	 public ProTherad( int count ,int inc ,int delai){// constructeur
    		this.count=count;
    		this.inc=inc;
    		this.delai=delai;
    													}
    	public void run(){
    		try{
     
    		for(;;){
    			System.out.println(count + "   ");
    			count+=inc;
    			sleep(delai);}
    			}catch(InterruptedException e){}
    				}
     
     
    			}
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    public class Appli {
     
    	public static void main(String[] args) {
    	ProTherad thread1,thread2;
    		thread1 = new ProTherad(0,1,33);
    		thread2 = new ProTherad(33,1,66);
    		thread1.start();
    		thread2.start();
     
     
    	}				
     
     
    }

  2. #2
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Comme ça ç l'arrache (si j'ai bien compris) :
    - Déclarer une variable static dans ton thread.
    - Utiliser le mot clef synchronized sur cette varible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    synchronized(ProThread.variableStatic){
       // Les traitements ne devant pas être exécutés en parallèle.
    }

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Par défaut
    Il faudrait que tu precises ce que tu nommes le mode synchronized.

    A priori, il n'y a pas besoin de synchronized, puisque la seule methode definie est la methode run.

    Une petite remarque : ignorer les exceptions, c'est mal. Il faudrait faire au moins un e.printStackTrace()

Discussions similaires

  1. [Thread][SYNCHRONIZED] problème de synchornisation
    Par _Eric_ dans le forum Général Java
    Réponses: 9
    Dernier message: 15/03/2005, 10h59
  2. Synchronize bloquant dans un thread
    Par bencot dans le forum Langage
    Réponses: 3
    Dernier message: 20/08/2004, 16h42
  3. [thread] synchronize ou pas ?
    Par dvarrel dans le forum Langage
    Réponses: 4
    Dernier message: 26/07/2004, 19h09
  4. [Astuce][Thread]Utilisation des blocs synchronized
    Par Pill_S dans le forum Concurrence et multi-thread
    Réponses: 14
    Dernier message: 21/07/2004, 14h14
  5. [Thread] Synchronize
    Par Pedro dans le forum Langage
    Réponses: 9
    Dernier message: 06/07/2004, 13h30

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