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 : Sélectionner tout - Visualiser dans une fenêtre à part
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) { } } } }Ce que j'ai du mal à comprendre c'est le but du sleep dans la classe Producteur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } } }
Pouvez-vous m'éclairer ?
Merci d'avance.
Partager