Question: Write Java Multithreading Case Study, Part IV: Circular Buffer in Java example program. ( 5 Points ) [ Homework ] Write Java Multithreading Case Study,

Write "Java Multithreading Case Study, Part IV: Circular Buffer in Java" example program.(5 Points)
[Homework]
Write "Java Multithreading Case Study, Part
IV: Circular Buffer in Java" example program.
[Programming]
Use Fig. 5-1,5-2,5-3,6-6 and 6-7
produces values from 21 to 30
consumes 20 values from the circular buffer.
[Report]-Submit
Java Program Files
Executable file
Two times Execution Results
Copy and copied program both will have point 0!
Here are the figures that are mentioned above.
02_Mutual exclusion (2/8-2)
Java Multithreading Case Study, Part II:
Unsynchronized Buffer with Producer/Consumer
Producer
Wait for a time interval
Write value to buffer and print the buffer
Repeat 4 times 1.2.
Write terminating message
Consumer
Wait for a time interval
Read value from buffer and print the buffer
Add read value
Repeat 4 times 1.3.
Write terminating message
02_Mutual exclusion (3/8)
Buffer Interface & ProducerFigure 5.1 Buffer interface used in producer/consumer examples.Sample Output 1.Consumer reads -1producer writes 1Consumer reads 1Consumer reads 1Consumer reads 1Consumer read values totaling: 2.Terminating Consumer.Producer writes 2Producer writes 3Producer writes 4Producer done producing.Terminating Producer.
02_Mutual exclusion (4/8)
Consumer
Sample Output 2:
Producer writes 1
Producer writes 2
Consumer reads 2
Producer writes 3
Consumer reads 3
Producer writes 4
Producer done producing,
Terminating producer.
Consumer reads 4
Consumer reads 4
Consumer read values totaling: 13.
Terminating Consumer.02_Mutual exclusion (5/8)
Unsynchronized BufferFigure 5.4| UnsynchronizedBuffer class maintains the shared integer that is accessed by a producer thread and a consumer thread via methods set and get
05_Java Multithreading Case Study : Part IV: (2/8)// place value into bufferpublic synchronized void set( int value){// get name of thread that called this methodString name = Thread.currentThread ().getName ();// while buffer full, place thread in waiting state while ( occupledBuffers == buffers.length){// output thread and buffer information, then wait try{System.err.printin("
All buffers full. "+ name +" waits." );wait(); // wait until space is available}// end try// if waiting thread interrupted, print stack trace catch (InterruptedRxception exception){exception.printStackTrace ();}// end catch}// end while// place value in writeLocation of buffersbuffers [ writelocation ]= value;// output produced valueSystem. err.println("
"+ name +" writes "+buffers [ writeLocation ]+"") ;// indicate that one more buffer is occupied++occup1edBuffers;// update writeLocation for future write operationwriteLocation =( writeLocation +1) & buffers.length;// display contents of shared buffersSystem.err.println( createStateOutput ());notify(); // return a waiting thread to ready state }// end method set
(#)/2305_Java Multithreading Case Study : Part IV: (5/8)Sample Output:(buffers occupied: 0)buffers: -1quad-1quad-1WRAll buffers empty. Consumer waits.Producer writes 11(buffers occupied: 1)buffers: {:[11,-1,-1]:}R WConsumer reads 11(buffers occupied: 0)WRProducer writes 12(buffers occupied: 1)buffers: 11quad12quad-1
Write "Java Multithreading Case Study, Part IV:

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!