class Compte { int capital=0; void credite(Banquier leBanquier, int deCombien) { int montant; System.out.println(leBanquier.nom +" commence son travail"); montant = capital; leBanquier.yield(); System.out.println(leBanquier.nom +" continue son travail"); capital=montant+deCombien; } } class Banquier extends Thread { Compte unCompte; String nom; Banquier(Compte unCompte, String nom) { this.unCompte=unCompte; this.nom=nom; } public void run() { System.out.println(nom + " est embauche"); unCompte.credite(this,1); } } class EssaiBanquier { public static void main(String[]Argv) { Compte unCompte=new Compte(); Banquier Jean, Jacques; (Jean=new Banquier(unCompte, "Jean")).start(); (Jacques=new Banquier(unCompte, "jacques")).start(); try { Jean.join(); Jacques.join(); } catch(InterruptedException e){} System.out.println("Votre capital est de " + unCompte.capital); } } /*On obtient : Jean est embauche Jean commence son travail jacques est embauche jacques commence son travail Jean continue son travail jacques continue son travail Votre capital est de 1 */