Bonjour, je suis débutant en JAVA. Pour un exercice, je dois réaliser un allocateur et liberateur de N ressources en utilisant les moniteurs.
voici le début de mon code.
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 public class Serveur { int k = 10; int nblibre = 0; int n; static Servant[] servants; public void main(String argv[]){ // servants = new Servant[K]; for(int i =0; i < k; i++){ servants[i] = new Servant(); servants[i].start(); } } public void Allouer(int n) throws InterruptedException{ while(nblibre>n){ wait(); } nblibre -= n; } public void Liberer(int n){ nblibre += n; } }
Je ne demande pas à ce que l'on fasse l'exercice à ma place, mais comprendre, notamment les passage de variables (constructeur etc...). merci de votre aide.
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
18
19
20
21
22
23
24
25 public class Servant extends Thread{ public Servant(){ } public void run(){ // recevoir une requete // allouer ressource // Serveur.Allouer(int n); System.out.println("Traitement de la requete"); // traiter la requete // Serveur.Liberer(int n); System.out.println("Libération de l'espace"); // liberer la ressource } }
Partager