Answered step by step
Verified Expert Solution
Question
1 Approved Answer
package sync; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore; public class Test { public static void main ( String [ ] args ) { ExecutorService executorService
package sync;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;
public class Test
public static void main
String
args
ExecutorService executorService
ExecutorsnewCachedThreadPool
;
ReadWriteLock RW
new ReadWriteLock
;
executorService.execute
new Writer
RW
;
executorService.execute
new Writer
RW
;
executorService.execute
new Writer
RW
;
executorService.execute
new Writer
RW
;
executorService.execute
new Reader
RW
;
executorService.execute
new Reader
RW
;
executorService.execute
new Reader
RW
;
executorService.execute
new Reader
RW
;
class ReadWriteLock
private Semaphore S
new Semaphore
;
public void readLock
public void writeLock
public void readUnLock
public void writeUnLock
class Writer implements Runnable
private ReadWriteLock RW
lock;
public Writer
ReadWriteLock rw
RW
lock
rw;
public void run
while
true
RW
lock.writeLock
;
RW
lock.writeUnLock
;
class Reader implements Runnable
private ReadWriteLock RW
lock;
public Reader
ReadWriteLock rw
RW
lock
rw;
public void run
while
true
RW
lock.readLock
;
RW
lock.readUnLock
;
this is the test.java mentioned in the question.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started