Quelle est la différence entre wait() et sleep() en Java ? Quand utiliser quoi ?
Bonjour à tous ! Je viens de commencer à me plonger dans le multithreading en Java et je suis confus entre deux méthodes : wait() et sleep(). Les deux semblent « suspendre » un thread, mais se comportent différemment, et je ne comprends pas quand utiliser l'une ou l'autre.
Voici un exemple que j'ai écrit. Je veux qu'un thread affiche des nombres et l'autre des lettres, en alternance. Mais j'obtiens un mélange désordonné :
public class Test {
public static void main(String[] args) {
Thread t1 = new Thread(() -> {
for (int i = 0; i < 5; i++) {
System.out.println(i);
try { Thread.sleep(1000); } catch (InterruptedException e) {}
}
});
Thread t2 = new Thread(() -> {
for (char c = 'A'; c < 'F'; c++) {
System.out.println(c);
try { Thread.sleep(1000); } catch (InterruptedException e) {}
}
});
t1.start();
t2.start();
}
} No answers yet.
Connectez-vous pour laisser une réponse
Blogs