Avatar ·

Was ist der Unterschied zwischen den Methoden wait() und sleep() in Java? Beispiele mit Code

Hallo zusammen! Ich habe angefangen, Multithreading in Java zu lernen und bin bei den Methoden wait() und sleep() verwirrt. Anscheinend unterbrechen beide die Ausführung eines Threads, verhalten sich aber unterschiedlich. Helft mir, das zu verstehen. Ich habe ein einfaches Beispiel. Ich erstelle zwei Threads: einer produziert Daten, der andere konsumiert sie. Ich verwende sleep() zur Synchronisation: ```java class Producer extends Thread { private List buffer = new ArrayList<>(); public void run() { for (int i = 0; i < 10; i++) { buffer.add(i); System.out.println("Produziert: " + i); try { Thread.sleep(100); // Warten, bis der Konsument abholt } catch (InterruptedException e) {} } } public int getValue() { return buffer.remove(0); ```