diff --git a/pp.A1-CondPhilosophers/src/main/java/pp/Philosopher.java b/pp.A1-CondPhilosophers/src/main/java/pp/Philosopher.java index f8ed855..1393848 100644 --- a/pp.A1-CondPhilosophers/src/main/java/pp/Philosopher.java +++ b/pp.A1-CondPhilosophers/src/main/java/pp/Philosopher.java @@ -74,11 +74,8 @@ public class Philosopher extends Thread implements IPhilosopher { private void startEating() throws InterruptedException { table.lock(); try { - while (left.essen | right.essen) { - if (left.essen) { - left.cond.await(); - } - right.cond.await(); + while (left.essen || right.essen) { + cond.await(); } essen = true; } finally { @@ -90,7 +87,8 @@ public class Philosopher extends Thread implements IPhilosopher { table.lock(); try { essen = false; - cond.signalAll(); + left.cond.signal(); + right.cond.signal(); } finally { table.unlock(); }