correction init Diffusion dans le main
This commit is contained in:
@@ -11,7 +11,7 @@ public class CapteurImpl implements Capteur {
|
||||
private int value;
|
||||
private AlgoDiffusion diffusion;
|
||||
protected List<ObserverDeCapteurAsync> observers=new ArrayList<ObserverDeCapteurAsync>();
|
||||
private Boolean locker;
|
||||
private Boolean locker = false;
|
||||
|
||||
@Override
|
||||
public void attach(ObserverDeCapteurAsync o) {
|
||||
@@ -31,10 +31,14 @@ public class CapteurImpl implements Capteur {
|
||||
}
|
||||
|
||||
public void lock(){
|
||||
locker = false;
|
||||
locker = true;
|
||||
}
|
||||
public void unlock(){
|
||||
locker = true;
|
||||
locker = false;
|
||||
}
|
||||
|
||||
public void setAlgoDiffusion(AlgoDiffusion diffusion){
|
||||
this.diffusion = diffusion;
|
||||
}
|
||||
|
||||
//AO2 - Concrete Servant
|
||||
|
||||
@@ -19,10 +19,10 @@ public class DiffusionAtomique implements AlgoDiffusion {
|
||||
|
||||
@Override
|
||||
public void execute() {
|
||||
capteur.lock(); //TODO unlock
|
||||
List<ObserverDeCapteurAsync> canaux = capteur.observers;
|
||||
for (ObserverDeCapteurAsync canal : canaux) {
|
||||
capteur.lock();
|
||||
for (ObserverDeCapteurAsync canal : capteur.observers) {
|
||||
canal.update(this.capteur);
|
||||
}
|
||||
capteur.unlock(); //TODO
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ public class Scheduler {
|
||||
private final ScheduledExecutorService scheduler;
|
||||
|
||||
public Scheduler(int nbCanaux) {
|
||||
int nThread = 2+2*nbCanaux;
|
||||
int nThread = 20+2*nbCanaux;
|
||||
scheduler = Executors.newScheduledThreadPool(nThread);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user