[clos] JustATry

Fermé
Gotti2 Messages postés 1 Date d'inscription dimanche 27 novembre 2011 Statut Membre Dernière intervention 28 novembre 2011 - 28 nov. 2011 à 11:41
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 28 nov. 2011 à 13:49
public class Bar {
public static void main(String arg[]){
Ress places = new Ress(4, "place");
String smokerNotsmoker = "";
for(int i = 0; i < 20; i++){
smokerNotsmoker =Math.random()>0.5?"smoker":"notsmoker";
new Client(places, smokerNotsmoker, "client " + i);
}
}

}

public class Client extends Thread {
String name;
String smokerNotSmoker;
Ress places;

Client(Ress places, String smokerNotSmoker, String name) {
super("("+smokerNotSmoker+")"+name);
this.places = places;
this.name = name;
this.smokerNotSmoker = smokerNotSmoker;
this.start();
}

public void run() {
places.take(smokerNotSmoker);
try { // to
sleep(600);
} catch (InterruptedException e) {
}
System.out.println("\t" + name + " stayng in bar");
try { // to
sleep(3600);
} catch (InterruptedException e) {
}
places.leave(smokerNotSmoker);

}

}


public class Ress {
private String name;
private int free;
private int freeMax;
private String freeFor = "all";
Ress(int count, String name){
free = count;
freeMax = count;
this.name = name;
}
public synchronized void take(String smokerNotSmoker){
while((free 0) || (CanEnter(smokerNotSmoker) false)){
try{
wait();
}
catch(InterruptedException e){
System.err.println(e);
}
}
System.out.println(Thread.currentThread().getName()+" take "+name);
freeFor = smokerNotSmoker;
free--;

//notifyAll();
}
public synchronized void leave(String smokerNotSmoker){
free++;
System.out.println(Thread.currentThread().getName()+" leave "+name);
if(free == freeMax)
{
if(smokerNotSmoker == "smoker")
{
System.out.println("Some air after smokers");
try { // to
wait(600);
} catch (InterruptedException e) {
}

}
freeFor = "all";
}
notifyAll();
}

private boolean CanEnter(String smokerNotSmoker)
{
if((freeFor "all") || (freeFor smokerNotSmoker))
{
return true;
}
else
{
return false;
}
}
}

2 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
28 nov. 2011 à 13:26
Bonjour,

Quel est ton problème ?
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
28 nov. 2011 à 13:49
Salut,

Tu penses que l'on prend comment les demandes comme celle-ci ?
Tu crois que ça nous fait quoi de voir que des gens comme toi ne disent ni bonjour, ni merci, ni même ne prennent la peine d’écrire autre chose qu'un vieux copier collé de son code ?

En attendant que tu lises le règlement et que tu apprennes la politesse le sujet est clos!




------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Rejoignez-nous