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 l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!