package reader_writer_szenario; /* AUFGABE 82 */ // zwei separate Locks zusätzlich eingeführt // Lösung nach Aufgabenstellung mit share als Lock online public class Writer extends Thread { private final Shared share; private final int n; public Writer(Shared s, int n) { share = s; this.n = n; } public void run() { for (int i = 1; i <= n; i++) { synchronized (Shared.lockWrite) { while (share.changed) { try { Shared.lockWrite.wait(); } catch (InterruptedException e) { return; } } share.value = i; share.changed = true; } synchronized (Shared.lockRead) { Shared.lockRead.notify(); } } } }