Dynamic-Mess.com


"The world is a dynamic mess of jiggling things..."

MultiTâches en Java : créer un thread

Article posté le 29-08-2013 dans la catégorie Java

Attention, le contenu cet article est peut-être obsolète!

Le multitâches devient une obligation à partir du moment où l'on commence à créer des applications qui utilisent plusieurs ressources, effectuent plusieurs calculs simultanément ou tout simplement effectuent une opération longue. L'intérêt numéro 1 est de pouvoir garder la main sur son application, qui n'est pas "gelée" le temps de l'opération.

 

Un objet, le Thread est.

 

En Java, tout est objet. Votre Thread, processus, sera donc une classe que vous instancierez.

laClasseDeMonThread nomDeLobjet = new laClasseDeMonThread(nomDuThread, paramètres); // On crée l'objet
nomDeLobjet .start(); // On le lance

Cette classe héritera de la classe "Thread":

public class laClasseDeMonThread extends Thread
{
    /* ICI LES ATTRIBUTS DE LA CLASSE */
    
//Constructeur :
    public laClasseDeMonThread(nomDuThread, Parametres)
    {        
        super(nomDuThread); // Obligatoire pour que l'héritage soit réalisé
       /* ICI Traitement à réaliser à la création de l'objet */
    }
   ...

 Ensuite, il faut que votre classe contienne une méthode "Run", qui sera lancée lorsque vous appellerez la méthode "start" de votre objet. C'est dans cette méthode que le traitement du Thread sera réalisé :

@Override
    public void run()
    {
    /* CONTENU A EXECUTER */
    }

Application

Maintenant voici un exemple de code, pour un Thread qui doit afficher le message "bonjour" 4 fois :

// 1- Dans votre application, créer le Thread et le lancer :

AfficheTexte monTexte = new AfficheTexte("nomDeThread", "Bonjour"); monTexte.start();

// 2- Contenu de la classe

public class AfficheTexte extends Thread
{
   private String leTexte;

   public AfficheTexte(String nomDuThread, String leTexteAAfficher)
{
   super(nomDuThread);
   leTexte = leTexteAAfficher;
}

@Override
public void run()
{
  int leCompteur = 1;
  while(leCompteur<5)
 {
  System.out.println("\n"+leTexte);
  leCompteur++; }
 }
}

Cet article vous a plu? Découvrez d'autres articles


Tweet
comments powered by Disqus