Read Write Problem Program
Read Write Problem Program
Semaphore;
class ReaderWritersProblem {
@Override
try {
//Acquire Section
readLock.acquire();
readCount++;
if (readCount == 1) {
writeLock.acquire();
readLock.release();
//Reading section
Thread.sleep(1500);
//Releasing section
readLock.acquire();
readCount--;
if(readCount == 0) {
writeLock.release();
}
readLock.release();
} catch (InterruptedException e) {
System.out.println(e.getMessage());
@Override
try {
writeLock.acquire();
Thread.sleep(2500);
writeLock.release();
} catch (InterruptedException e) {
System.out.println(e.getMessage());
t1.setName("thread1");
t2.setName("thread2");
Thread t3 = new Thread(write);
t3.setName("thread3");
t4.setName("thread4");
t1.start();
t3.start();
t2.start();
t4.start();