Compréhension des Threads
Bonjour à tous,
Je n'arrive pas à comprendre un programme qui utilise des threads : c'est deux classes, une qui met des int dans un buffer, l'autre qui les prend.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| // Producteur.java
public class Producteur extends Thread {
private Buffer buf;
private int identité;
public Producteur(Buffer c, int n) {
buf = c; this.identité = n;
}
public void run() {
for (int i = 0; i < 100; i++) {
buf.mettre(i);
System.out.println("Producteur #" + this.identité
+ " met : " + i);
try { sleep((int)(Math.random() * 100));}
catch (InterruptedException e) { }
}
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public class Consommateur extends Thread {
private Buffer buf;
private int identité;
public Consommateur(Buffer c, int n) {
buf = c;
this.identité = n;
}
public void run() {
int val = 0;
for (int i = 0; i < 10; i++) {
val = buf.prendre();
System.out.println("Consommateur #" +
this.identité + " prend: " + val);
}
}
} |
Ce que j'ai du mal à comprendre c'est le but du sleep dans la classe Producteur.
Pouvez-vous m'éclairer ?
Merci d'avance.