arno83
Messages postés6Date d'inscriptionsamedi 11 octobre 2003StatutMembreDernière intervention18 février 2006
-
18 févr. 2006 à 23:59
tucobouch
Messages postés194Date d'inscriptionvendredi 17 février 2006StatutMembreDerniè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...
tucobouch
Messages postés194Date d'inscriptionvendredi 17 février 2006StatutMembreDernière intervention 1 mai 200950 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 !"