Thread dans une applet ??

Résolu
Signaler
Messages postés
5
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
27 avril 2008
-
Messages postés
5
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
27 avril 2008
-
bon soir ou bonjour, je cherche des
codes de sources qui utilise des threads dans des Japplet, afin de voir
comment m'en profiter pour implementer un code sur Netbeans qui
manipule des thread d'envoi et de reception de données et l'introduire
dans une applet.merci 

3 réponses

Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 décembre 2016
25
Soit plus claire stp. Quel genre d'envoi de données? C'est du réseau, un producteur-consommateur, ou bien? Dans une applet on peut faire à peu prêt la même chose que dans une application standard donc il n'y a pas de souci.

Pour crée un thread, je connais deux méthodes. Soit tu crées une class Runnable soit tu crées directement un class Thread.

Première méthode :


Par exemple :
<hr size= "2" width="100%" />
public class ThreadBete extends Thread {

    private String texte;
    private int nbAffichages;

    public ThreadBete(String texte, int nbAffichages) {
        this.texte = texte;
        this.nbAffichages = nbAffichages;
    }

    public int getNbAffichages() {
        return nbAffichages;
    }

    public String getTexte() {
        return texte;
    }

    public void setTexte(String texte) {
        this.texte = texte;
    }

    public void run() {
        for (int i = 0; i < nbAffichages; i++) {
            System.out.println(texte);
        }
    }

}

et le test qui va avec :
<hr size="2" width="100%" />
public class TestThreadBete {

    public static void main(String... args) {
        Thread threadA = new ThreadBete("A", 1000);
        Thread threadB = new ThreadBete("BBBBBBBB", 1000);

        threadA.start();
        threadB.start();
    }

}

Si tu lances ça tu verras normalement que le threadA et le threadB ne s'exécutent pas séquentiellement. Selon ton processeur et ta version de Java, ils vont alterner plus ou moins souvent.

Deuxième méthode


Tu peux faire la même chose avec Runnable :
<hr size ="2" width="100%" />
public class RunnableBete implements Runnable {

    private String texte;
    private int nbAffichages;

    public RunnableBete(String texte, int nbAffichages) {
        this.texte = texte;
        this.nbAffichages = nbAffichages;
    }

    public int getNbAffichages() {
        return nbAffichages;
    }

    public String getTexte() {
        return texte;
    }

    public void setTexte(String texte) {
        this.texte = texte;
    }

    @Override
    public void run() {
        for (int i = 0; i < nbAffichages; i++) {
            System.out.println(texte);
        }
    }

}

et la classe de test :
<hr size="2" width="100%" />
public class TestRunnableBete {

    public static void main(String... args) {

        Thread threadA = new Thread(new RunnableBete("A", 1000),
                "Je suis le threadA");
        Thread threadB = new Thread(new RunnableBete("BBBBBBBB", 1000),
                "Je suis le threadB");

        threadA.start();
        threadB.start();
    }

}

Pour ce qui est de la synchronisation, on utilise généralement les instructions wait(), notify() et notifyAll(). Attention, en règle générale, les méthodes où tu appelles ces instructions doivent contenir le mot-clé synchronized dans leur définition.

Exemple :
<hr size="2" width="100%" />
public synchronized void lireMessage(){
    if(messages.isEmpty()) wait();
    System.out.println(messages.removeFirst());
    notify();
}
Messages postés
5
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
27 avril 2008

salut est-ce que quelqu'un a un code de source about animation de thread dans des applet, pour faire une idée
Messages postés
5
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
27 avril 2008

thanks a lot pour la reponse.