Cours JAVA le bon usage des exceptions

Le bon usage des exceptions

• Les exceptions doivent rester … exceptionnelles
• Ce n’est pas une nouvelle structure de contrôle en plus des if, while, for, switch
• Pour éclaircir les traitements d’erreur du genre
if (erreur) <trait-erreur>
else {…
if (erreur) <trait-erreur>
else {…
if (erreur) <trait-erreur>
else {…
(suite)
}
}
}
• Eviter de capter les erreurs graves non récupérables (NullPointerException, …)

Processus

La machine virtuelle Java permet l’exécution concurrent de plusieurs processus dans une programme.
Un processus (thread) est un fil d’exécution et un objet, il possède
• une instruction courante
• un environnement
• un état (actif, inactif, en attente, etc.)
• un nom (pas forcément unique)
Il faut le créer ET le démarrer
AnimatorThread a = new AnimatorThread(); a.start();
La classe Thread fournit un type de processus “minimal” qui ne fait rien =>
• la sous-classer
• ou utiliser un objet Runnable.

Processus comme sous-classe de Thread

class Producteur extends Thread { public void run() {

}
Producteur p = new Producteur();
p.start();
Producteur q = new Producteur();
q.start();
La méthode start() initialise le processus et lance l’exécution de la méthode run().

Processus utilisant une autre classe

class Consommateur implements Runnable { public void run() {

}
Consommateur conso = new Consommateur(); Thread t1 = new Thread(conso); t1.start();
Thread t2 = new Thread(conso);
t2.start();
Dans ce cas le processus utilise un objet qui possède une méthode run() (qui implante Runnable). start() initialise le processus et lance l’exécution

Synchronisation

But: assurer la cohérence des traitements
Technique des moniteurs = garantir l’accès exclusif à une ressource (données ou instructions).
Chaque objet possède un moniteur d’accès
On obtient l’accès exclusif à un objet o de la classe C
• en exécutant une méthode synchronisée
class C {
synchronized void m() { … instructions … }

}
C o = new C();
o.m()
• en exécutant une instruction synchronisée sur o
synchronized (o) {… instructions …}
Le moniteur bloque tout autre processus qui essaye d’obtenir l’accès à o.

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *