Compte à rebours puis remise a zéro

Résolu
arno83 Messages postés 6 Date d'inscription samedi 11 octobre 2003 Statut Membre Dernière intervention 18 février 2006 - 18 févr. 2006 à 23:59
tucobouch Messages postés 194 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 1 mai 2009 - 19 févr. 2006 à 18:45
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

tucobouch Messages postés 194 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 1 mai 2009 50
19 févr. 2006 à 18:45
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 !"
3
Rejoignez-nous