Question: Concurrent and Parallel Programming Given below is the class SharedArray. Explain why the method swap is deadlock prone and re-write it so that it is

Concurrent and Parallel Programming

Given below is the class SharedArray. Explain why the method swap is deadlock prone and re-write it so that it is deadlock free. class SharedArray { private int ff[]; private Lock keys[]; public SharedArray(int n){ ff = new int[n]; keys = new ReentrantLock[n]; for(int j = 0; j < n; j++){ ff[j] = (int)(Math.random()*100); keys[j] = new ReentrantLock(); } } void swap(int j, int k) { keys[j].lock(); keys[k].lock(); int t = ff[j]; ff[j] = ff[k]; ff[k] = t; keys[j].unlock(); keys[k].unlock(); } //..... }

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 Databases Questions!