Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

Concurrent and Parallel Programming

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

Put Your Data To Work 52 Tips And Techniques For Effectively Managing Your Database

Authors: Wes Trochlil

1st Edition

0880343079, 978-0880343077

More Books

Students also viewed these Databases questions