cs_hamzabba
Messages postés7Date d'inscriptionsamedi 10 novembre 2007StatutMembreDernière intervention12 juin 2009
-
10 avril 2008 à 09:34
cs_hamzabba
Messages postés7Date d'inscriptionsamedi 10 novembre 2007StatutMembreDernière intervention12 juin 2009
-
10 avril 2008 à 20:03
Bonjour,
voici un petit programme java que j'ai tester pour voir le déroulement de synchronisation a l'aide des moniteurs : (pour que le message de methode 1 soit toujours affiché le premier )
class UneClasse extends Thread {
private final Lock lock = new ReentrantLock();
private final Condition cond1 = lock.newCondition();
private final Condition cond2 = lock.newCondition();
public int type;
void methode1() throws InterruptedException {
lock.lock();
try {
System.out.println("methode 1 envoi le signale");
cond1.signal();
} finally {
lock.unlock();
}
System.out.println("Fin de methode 1");
}
void methode2() throws InterruptedException {
lock.lock();
try {
System.out.println("methode 2 attend le signale");
cs_hamzabba
Messages postés7Date d'inscriptionsamedi 10 novembre 2007StatutMembreDernière intervention12 juin 2009 10 avril 2008 à 20:03
salut
je pense que j ai trouver le probleme qui sert un erreur dans le bloc switch , en effet a cause que j ai pas met les break entraine a lancement de 3 methode dansl ordre suivant : 1,2,2
un notre problem également réside dans la déclaration de moniteur lock a cause que j est pas met le mot static ça entrain a la creation des moniteur a chaque objet
(et noun voulons partager 1 seul moniteur).