Créer des processus

La classe Thread

La classe Thread (contenue dans le package java.lang) permet de créer des processus. Ceux-ci sont déclenchés par leur méthode start() et stoppés par leur méthode stop().
La méthode start() appelle la méthode run() que nous devons redéfinir dans les classes dérivées.

Exemple de classe dérivée de Thread

Nous allons créer un processus dont la tâche sera simplment d'afficher son nom. Pour cela il nous suffira de définir un constructeur et la méthode run().

	public class ThreadAff extends Thread {

	 public ThreadAff(String nom) {
	  super(nom);
	 }
 
	 //afficher 10 fois le nom
	 public void run() {
	  for (int i=0; i<10; i++) {
	   //effectue la tâche prévue
	   System.out.println("Je suis le processus "+getName());
	   //passe la main au processus suivant
	   Thread.yield();
	  }
	 }
  
	}

Noter l'utilisation de la méthode statique yield() qui permet aux autres processus de s'exécuter.

Mise en oeuvre dans un programme

Ecrivons un programme utilisant la classe ThreadAff que nous venons de définir. Pour créer 2 processus de type ThreadAff il suffit d'utiliser deux variables t1 et t2.

	public class TestThread {

	 public static void main(String args[]) {
	  ThreadAff t1=new ThreadAff("1");
	  ThreadAff t2=new ThreadAff("2");
	  t1.start();
	  t2.start();
	  for (int i=0; i<15; i++) {
	   System.out.println("Je suis la tâche principale.");
	   Thread.yield();
	  }
	 }
 
	}

En exécutant ce programme on voit trois processus agir : le processus principal de l'application et les deux processus créés.



Retour au menu