06.08.2013 Views

JAVA-BASED REAL-TIME PROGRAMMING

JAVA-BASED REAL-TIME PROGRAMMING

JAVA-BASED REAL-TIME PROGRAMMING

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

**<br />

* The producer.<br />

*/<br />

class Producer extends Thread {<br />

Buffer theBuffer;<br />

Producer(Buffer b) {<br />

super(); // Construct the actual thread object.<br />

theBuffer = b;<br />

}<br />

public void run() {<br />

String producedData = "";<br />

try {<br />

while (true) {<br />

if (producedData.length()>75) break;<br />

producedData = new String("Hi! "+producedData);<br />

sleep (1000); // It takes a second to obtain data.<br />

theBuffer.putLine(producedData);<br />

}<br />

}<br />

catch (Exception e) {<br />

// Just let thread terminate (i.e., return from run).<br />

}<br />

} // run<br />

} // Producer<br />

/**<br />

* The consumer.<br />

*/<br />

class Consumer extends Thread {<br />

Buffer theBuffer;<br />

Consumer(Buffer b) {<br />

super();<br />

theBuffer = b;<br />

}<br />

public void run() {<br />

try {<br />

sleep (10000); // 10s until work starts.<br />

while (true) {<br />

System.out.println(theBuffer.getLine ());<br />

}<br />

}<br />

catch (Exception e) {/* Let thread terminate. */};<br />

} // run<br />

} // Consumer<br />

4.1. Exercise 1 – Semaphores<br />

101

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!