EDIT: Ok, das ist wirklich dumm, aber ich weiß nicht, warum ich nicht sah, war es eine normale Schleife ohne die üblichen Inkremente. Ich hoffe, ich war betrunken, als ich diese Frage gestellt habe, weil ich mich jetzt super idiotisch fühle. Danke trotzdem Jungs!Java Oracle Beispiel auf geschützten Blöcken
Ich folge einigen Tutorials auf Java Multi-Threading, um so viele Informationen und Beispiele wie möglich zu sammeln.
Auf der Oracle-Website gibt es ein offizielles Tutorial zu Java Concurrency und ich betrachte den Abschnitt Geschützte Blöcke (here).
Während alle Konzepte klar sind, lese ich das Producer/Consumer Beispiel unten auf der Seite und ich verstehe einige Teile des Codes nicht.
Speziell im folgenden ist der Code für die Methode run() der Consumer-Klasse, wo ich nicht verstehe, wie diese for-Schleife funktionieren soll. Es sieht nicht einmal so aus, wie es für mich funktionieren kann.
Kann mir jemand erklären?
public void run() {
Random random = new Random();
for (String message = drop.take();
! message.equals("DONE");
message = drop.take()) {
System.out.format("MESSAGE RECEIVED: %s%n", message);
try {
Thread.sleep(random.nextInt(5000));
} catch (InterruptedException e) {}
}
}