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.
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.
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.