Allocateur / libérateur de ressources
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:
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;
}
} |
Code:
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
}
} |
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.