Hi,
Ich brauche Eure Hilfe...und zwar versteh ich nicht so ganz, warum meine Threads nicht parallel laufen?!
ALso mein Programm soll so funktionieren, dass es eine mainKlasse gibt, dann gibt es einen Producer, der legt immer Werte auf die Liste, und einen Consumer, der nimmt die werte immer wieder runter!
Jetzt hab ich eine Klasse Consumer:
Und noch den Consumer:
und eine Klasse, die beide Klassen starten soll!
Consumer und Producer greifen noch auf eine Klasse Stock zu!
Wenn ichs jetzt mit start ausführe, funktioniert mein Producer auch einwandfrei...
Es wird die ganze Zeit, 11, 12, 11, 12....usw ausgegeben.
Nur irgendwie nimmt er nichts runter!
Die Klasse Stock war gegeben, hat deshalb keine Fehler!
Außerdem verstehe ich nicht, warum ich keine Ausgabe vom Consumer bekomme...
Der Producer macht es ja?!
Könnt Ihr mir helfen?
Ich brauche Eure Hilfe...und zwar versteh ich nicht so ganz, warum meine Threads nicht parallel laufen?!
ALso mein Programm soll so funktionieren, dass es eine mainKlasse gibt, dann gibt es einen Producer, der legt immer Werte auf die Liste, und einen Consumer, der nimmt die werte immer wieder runter!
Jetzt hab ich eine Klasse Consumer:
Java:
public class ProducerThread extends Thread {
Stock stock1 = new Stock();
@Override
public void run(){
while(true) {
stock1.add(11);
System.out.println("11");
stock1.add(12);
System.out.println("12");
}
}
}
Und noch den Consumer:
Java:
public class ConsumerThread extends Thread {
Stock stock1 = new Stock();
@Override
public void run(){
while(true) {
stock1.take();
System.out.println("weggenommen");
}
}
}
und eine Klasse, die beide Klassen starten soll!
Java:
class Start extends Thread{
Stock stock1 = new Stock();
public void start() {
new ProducerThread().start();
new ConsumerThread().start();
}
}
Consumer und Producer greifen noch auf eine Klasse Stock zu!
Wenn ichs jetzt mit start ausführe, funktioniert mein Producer auch einwandfrei...
Es wird die ganze Zeit, 11, 12, 11, 12....usw ausgegeben.
Nur irgendwie nimmt er nichts runter!
Die Klasse Stock war gegeben, hat deshalb keine Fehler!
Außerdem verstehe ich nicht, warum ich keine Ausgabe vom Consumer bekomme...
Der Producer macht es ja?!
Könnt Ihr mir helfen?