le Client utilise un sméaphore pour cuir son plat
This commit is contained in:
@@ -1,35 +1,11 @@
|
||||
import java.util.Random;
|
||||
|
||||
public class Cuisinier extends Thread {
|
||||
private Stand_de_cuisson stand;
|
||||
|
||||
public Cuisinier(Stand_de_cuisson stand_de_cuisson){
|
||||
this.stand= stand_de_cuisson;
|
||||
public Cuisinier(){
|
||||
this.setDaemon(true);
|
||||
}
|
||||
|
||||
public void run(){
|
||||
while(Thread.currentThread().isDaemon()){
|
||||
attendreClient();
|
||||
}
|
||||
}
|
||||
|
||||
private void attendreClient(){
|
||||
Client client = stand.getClient();
|
||||
synchronized(stand){
|
||||
try{
|
||||
while(client==null){
|
||||
stand.wait();
|
||||
client= stand.getClient();
|
||||
}
|
||||
}
|
||||
catch(InterruptedException e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
faire_cuire(client);
|
||||
}
|
||||
|
||||
public void faire_cuire(Client client){
|
||||
System.out.println("# Cuisinier : fait cuire le plat de " + client.getNameClient()) ;
|
||||
try{
|
||||
@@ -39,7 +15,5 @@ public class Cuisinier extends Thread {
|
||||
e.printStackTrace();
|
||||
}
|
||||
System.out.println("# Cuisinier : a fini de cuire le plat de " + client.getNameClient()) ;
|
||||
stand.nextClient();
|
||||
stand.finir_cuit();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user