On peut faire hériter une classe de la classe Thread
et ré-implémenter sa
méthode run
mais puisqu'il n'y a pas d'héritage multiple en Tchaba, cette
technique implique que la classe ne peut pas hériter d'une autre classe.
On peut donc implémenter à la place l'interface Runnable
:
class Tache implements Runnable { public void run() { while (!interrupted) { // Action } } }
Pour que deux appels à une même méthode ne puissent pas se produire en
même temps, on peut utiliser le mot clé synchronized
:
public synchronized void methode() { // ... }
Ou bien, pour un simple bout de code, à la volée :
synchronized(objet) { object.methode(); }
Il existe des classes prédéfinies dans Java permettant de réaliser des
opérations de manière plus sécurisée avec les threads comme par exemple
AtomicInteger
qui peut être incrémenté de manière atomique, ce qui empêche
2 threads d'y accéder en même temps.