From b4dbd2cfa724476162fa6d35941a5d7cdc9c9524 Mon Sep 17 00:00:00 2001 From: Tucker Evans Date: Mon, 18 Feb 2019 08:10:10 -0500 Subject: Adds all assignments not previously in a git repo --- CS2452/assign5/src/ResourceWriter.java | 56 ++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100755 CS2452/assign5/src/ResourceWriter.java (limited to 'CS2452/assign5/src/ResourceWriter.java') diff --git a/CS2452/assign5/src/ResourceWriter.java b/CS2452/assign5/src/ResourceWriter.java new file mode 100755 index 0000000..2fb0967 --- /dev/null +++ b/CS2452/assign5/src/ResourceWriter.java @@ -0,0 +1,56 @@ +import java.util.concurrent.Semaphore; + +public class ResourceWriter implements Runnable +{ + Thread t; + byte[] res = null; + Semaphore flg = null; + Semaphore flg2 = null; + + ResourceWriter(byte[] r, Semaphore s, Semaphore s2) + { + res = r; + flg = s; + flg2 = s2; + t = new Thread(this, "ResourceWriter"); + t.start(); + } + + public void run() + { + int i; + byte value = 33; + boolean running = true; + + System.out.println("ResourceWriter: starts"); + while (running) + { + System.out.println("RW in while"); + try + { + flg2.acquire(); + flg.acquire(); + + for (i = 0; i < res.length; i++ ) + res[i] = value; + flg.release(); + flg2.release(); + } catch (Exception e0) + { + e0.printStackTrace(); + } + + value++ ; + if (value == 100) value = 33; + System.out.println("ResourceWriter: updated, waiting 15, 14, ..."); + try + { + Thread.sleep(15000); + } catch (Exception e) + { + } + } + System.out.println("ResourceWriter: ends"); + + } +} -- cgit v1.1