Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Class MyList given below uses a binary Semaphore to make the methods set and inc thread safe. The solution uses coarse - grained synchronization. Re

Class MyList given below uses a binary Semaphore to make the methods set and inc thread safe. The solution uses coarse-grained synchronization. Re-write the class using semaphores to provide a fine-grained synchronized solution that makes the class thread safe.
class MyList{
private int[] list = new int[100];
private Semaphore lock = new Semaphore(1); MyList(){
for(int j =0; j <100; j++) list[j]=(int)(Math.random()*100); }
public void set(int x, int ind){//assume 0<= ind <100 try{lock.acquire();}
catch(InterruptedException e){} list[ind]= x;
lock.release();
}
public void inc(int x, int ind){//assume 0<= ind <100
try{lock.acquire();} catch(InterruptedException e){} list[ind]+= x;
lock.release();
}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Professional Android 4 Application Development

Authors: Reto Meier

3rd Edition

1118223853, 9781118223857

More Books

Students also viewed these Programming questions

Question

What is something you have never truly wrapped your head around?

Answered: 1 week ago

Question

what is a peer Group? Importance?

Answered: 1 week ago