SYSTÈMES D’EXPLOITATION (SE)
LES THREADS EN JAVA
Dr. Jihène Tounsi
ISG de Sousse
Site web http://www.jihenetounsi.com
Email: tounsi.jihene@yahoo.fr
Cours développé par Dr. Jihène Tounsi
Qu’est ce qu’un Thread?
2
Un processus est composé de plusieurs threads.
Un thread est un traitement particulier au sein
d’un processus.
Processus Thread
Lourd en exécution
Léger en exécution
Coûteux en exécution
Moins coûteux
en exécution
Espace virtuel isolé
Espace virtuel
partagé (code,
données, …)
Mémoire individuel
Mémoire
partagé
Cours développé par Dr. Jihène Tounsi
Qu’est-ce qu’un Thread ?
3
Les threads sont différents des processus :
Ils partagent code, données et ressources : « processus légers »
Ils peuvent disposer de leurs propres données.
Ils peuvent s’exécuter en "parallèle"
Avantages :
légèreté grâce au partage des données
meilleures performances au lancement et en exécution
partage les ressources système (pratique pour les I/O)
Utilité :
puissance de la modélisation : un monde multithread
puissance d’exécution : parallélisme
simplicité d’utilisation : c’est un objet Java (java.lang)
Cours développé par Dr. Jihène Tounsi
Création des Threads
4
La classe java.lang.Thread permet de créer de
nouveaux threads
Un thread doit implémenter obligatoirement
l’interface Runnable
le code exécuté se situe dans sa méthode run()
2 méthodes pour créer un Thread :
1) une classe qui dérive de java.lang.Thread
java.lang.Thread implémente Runnable
il faut redéfinir la méthode run() (mettre le mot clé @override)
2) une classe qui implémente l’interface Runnable
il faut implémenter la méthode run()
Cours développé par Dr. Jihène Tounsi
Methode 1 : Sous-classer Thread
5
class Proc1 extends Thread {
Proc1() {...} // Le constructeur
...
@override
public void run() {
... // Ici ce que fait le processus
}
}
...
Public class Test{
...
Proc1 p1 = new Proc1(); // Création du processus p1
p1.start(); // Active le processus}
1 / 23 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 !