Hallo!
Ich hab ein kleines Problem
ich muss zurzeit Threads programmieren und da steh ich gerade an, da zwei meiner Threads miteinander kommunizieren müssen nur weiß ich nicht wie das geht..
hier mal meine Hauptklasse:
Dann hab ich eben die Klasse Kassa, die für die Frage aber eigentlich egal ist
nämlich mein Problem
Es kommen immer random Kunden nach ein paar Sekunden und warten, bis sie ein Getränk bekommen haben von einer Kellnerin und gehen dann wieder
Die Kellnerinnen haben einen namen(eig ne zahl) und der Kunde muss wissen, von welcher Kellnerin er das Getränk bekommen hat
also
und
Also mein Problem: Wie kann ich als Kellnerin den boolean und den int von Kunde ändern?
2. Wenn er noch kein Getränk hat.. was soll er daweil machen? wie schaffe ich es, dass die Methode nicht einfach aufhört, da if falsch ist und er dann einfach nichts macht?
// sry wenn jz klammern zu viel sind oder so.. wollte nicht meinen ganzen Code posten
Ich hab ein kleines Problem
ich muss zurzeit Threads programmieren und da steh ich gerade an, da zwei meiner Threads miteinander kommunizieren müssen nur weiß ich nicht wie das geht..
hier mal meine Hauptklasse:
Java:
public class Kino extends Thread{
public static int theke=0;
public static long anzkunden=0;
public static long anzbedient=0;
public static void main(String[] args) {
Kassa[] k=new Kassa[3];
for(int i=0;i<3;i++){
k[i]=new Kassa(i+1);
}
//Threads starten
for(int i=0; i<3; i++){
k[i].start();
}
//hier werden die anderen Threads genauso wie oben Kassa gestartet und davor erstellt
}
Dann hab ich eben die Klasse Kassa, die für die Frage aber eigentlich egal ist
nämlich mein Problem
Es kommen immer random Kunden nach ein paar Sekunden und warten, bis sie ein Getränk bekommen haben von einer Kellnerin und gehen dann wieder
Die Kellnerinnen haben einen namen(eig ne zahl) und der Kunde muss wissen, von welcher Kellnerin er das Getränk bekommen hat
also
Java:
public class Waitress extends Kino{
private int name;
public Kellner(int name) {
this.name = name;
}
public void run(){
if(anzkunden!=anzbedient){
//Kunde boolean auf true setzen und dann den namen hergeben
}
}
}
und
Java:
public class Kunde extends Kino{
public boolean hatschon=false;
public int namekellner=0;
public void run(){
anzkunden++;
while(hatschon==false){
//WARTEN??
}
if(hatschon==true){
//Kellnerin muss boolean auf true setzen und noch ihre Nummer angeben
anzbedient++;
}
}
}
Also mein Problem: Wie kann ich als Kellnerin den boolean und den int von Kunde ändern?
2. Wenn er noch kein Getränk hat.. was soll er daweil machen? wie schaffe ich es, dass die Methode nicht einfach aufhört, da if falsch ist und er dann einfach nichts macht?
// sry wenn jz klammern zu viel sind oder so.. wollte nicht meinen ganzen Code posten
Zuletzt bearbeitet von einem Moderator: