2
1. Les Threads :Programmation Concurrente en Java
La notion de processus ( Thread ) est partie intégrante de Java
Via des mot- clés du langage (synchronized)
Grâce à des classes et interfaces (Thread)
Présent dans toute implémentation de Java
Utilise un mécanisme propre ou des facilités de la plateforme
Les bibliothèques standard les utilisent
Thread( s) AWT, Garbage Collector
Implémentations : Mise en application selon la machine virtuelle
– "green threads" : processus Java gérés en interne par un scheduler de la JVM
– "red threads" : le processus Java utilise l'implémentation native (pthreads sous
Unix), permet d'obtenir le multi-processeur de façon transparente
3
Utiliser les threads
Etendre la classe "Thread"
Une seule méthode à redéfinir: void run()
Lancée par un new ClasseDérivéeDeThread();
Implémenter l'interface "Runnable"
Une seule méthode à implémenter: void run()
Lancée par un new Thread(.. runnable..);
4
Exemple 1 :
class SimpleThread extends Thread {
public void run() {
for (int i = 0; i < 10; i++) {
System. out. println(“ Bip!”);
try {
sleep(( int)( Math. random() * 1000));
}
catch (InterruptedException e) {}
}
System. out. println(“ FINI! ");
}
}
...
SimpleThread p = new SimpleThread();
p. start();
5
Exemple 2 :
class SimpleTruc implements Runnable {
public void run() {
/* Idem Exemple 1*/
}
}
...
Thread p =new Thread (new SimpleTruc ());
p. start();
6
Méthodes utiles de la classe Thread
start() : Démarrage de l'activité du thread
suspend() : Arrêt provisoire de l'activité
sleep() : Arrêt provisoire de l'activité pour une durée donnée
stop() : Arrêt définitif de l'activité
Méthodes utilitaires pour:
Changer la priorité relative du Thread
-setPriority(...)
Connaître l'état du Thread : Actif, inactif, arrêté
-isAlive()
Etablir des groupes de Threads
-Classe ThreadGroup
Passer la main à d'autres Threads
-yield()
1 / 33 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !