Seii tp n05 Université Ibn Khaldoun ?? Tiaret Niveau LMD Département d ? Informatique Module Systèmes d ? Exploitation II TP Version Chargé du module B B Fiche TP N Manipulation des Threads en langage Java ? Remarques ? Gestion lourde des threads avec C A
Université Ibn Khaldoun ?? Tiaret Niveau LMD Département d ? Informatique Module Systèmes d ? Exploitation II TP Version Chargé du module B B Fiche TP N Manipulation des Threads en langage Java ? Remarques ? Gestion lourde des threads avec C API POSIX et simpli ?ée avec Java ? En java les threads sont des instances des classes dérivées héritées de la classe Thread ?? La classe Thread crée des threads généraux sa méthode run ne fait rien ?? La méthode run indique à un thread les instructions à exécuter ?? La méthode run doit être publique ne prendre aucun argument ne renvoyer aucune valeur et ne lever aucune exception ? Deux techniques pour fournir une méthode run à un thread hériter la classe Thread java lang Thread et redé ?nir la méthode run Implémenter l ? interface Runnable java lang Runnable et dé ?nir la méthode run de cette classe ? Un thread commence par exécuter la méthode run de l ? objet ??cible ? qui a été passé au thread Exercice Technique n Hériter la classe Thread Thread java class TPrint extends Thread String txt int attente public TPrint String t int p txt t attente p public void run for int i i i System out print txt i try sleep attente catch InterruptedException e public class Thread static public void main String args TPrint a new TPrint A créer un thread TPrint b new TPrint B créer un autre thread a start b start N B Le Résultat des deux exercices devrait être A B A A B A A B A A B A B B B B Question Donner une explication de ce résultat CExercice Technique n Implémenter l'interface Runnable Thread java import java io import java lang class TPrint implements Runnable String txt int attente public TPrint String t int p txt t attente p public void run for int i i i System out print txt i try Thread currentThread sleep attente catch InterruptedException e public class Thread static public void main String args TPrint a new TPrint A TPrint b new TPrint B new Thread a start Créer et lancer un thread new Thread b start Exercice Soit threads qui comptent de à et à Commençons donc par créer une sous-classe de la classe Thread puis créons une classe permettant de lancer les deux threads via la méthode main import java io import java lang LanceCompteurs java class ThreadCompteur extends Thread int no ?n Constructeur ThreadCompteur int ?n no ?n ?n On redé ?nit la méthode run public void run for int i i no ?n i System out println this getName i Classe lançant les threads class LanceCompteurs public static void main String args On instancie les threads ThreadCompteur cp new ThreadCompteur ThreadCompteur cp new ThreadCompteur C On démarre les deux threads cp start cp start On attend qu'ils aient ?ni de compter while cp isAlive cp isAlive On bloque le thread ms try Thread sleep catch InterruptedException e
Documents similaires










-
40
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Nov 23, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 40.9kB