Compte à rebours puis remise a zéro

Résolu
Signaler
Messages postés
6
Date d'inscription
samedi 11 octobre 2003
Statut
Membre
Dernière intervention
18 février 2006
-
Messages postés
194
Date d'inscription
vendredi 17 février 2006
Statut
Membre
Dernière intervention
1 mai 2009
-
Bonjour,





Dans le cadre d'un projet je dois réaliser une petite application
d'enchère multi-threadé. On doit implémenter une fonctionalité qui
stoppe l'enchère si pendant une certaine période aucune aucune enchère
n'est faites. Ce qui revient en gros comme dans une enchère classique
ou le bonhome dit "100$ 1 fois 100$ 2 fois 100$ 3 fois adjugé vendu".
Donc a chaque fois qu'une surenchere est faites, il faudrait redemarrer
le compteur a 0. Le prof nous a dit de chercher avec les nouvelles
fonctionnalités de java 1.5, je pense a la classe CountDownLatch qui
pourrai peut etre m'aidé... mais je n'ai pas réussi encore à le mettre
en place...





Est ce que quelqu'un pourrait m'aider??





Merci d'avance


Arno

1 réponse

Messages postés
194
Date d'inscription
vendredi 17 février 2006
Statut
Membre
Dernière intervention
1 mai 2009
42
Tu peux essayer de faire ça avec un Thread :

en gros, ça devrait ressembler a :

public void compteRebourd extends Thread
{
private int prixc=100; //prix au départ
private int fois=1; //nb de fois
/**
*
*/
public compteRebourd()
{
}

public void synchronized run()
{
while(fois<=3)
{
sleep(20*1000); //20 sec
if (fois>0)
System.out.println(fois+" fois "+prixc+"!");
fois++;
}
System.out.println("vendu a "+prixc+"!");
}

/*
remet a 0
*/
public void ras(int prix)
{
if (prix>prixc) //surenchere
{
fois=0; //remet a 0
prixc=prix;
}
}

}

ça devrait marcher...
pour lancer le thread, tu appelle la fonction start() :
toutes les 20 secs, le message "1 fois !", "2 fois !", "3 fois !"