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
Get step-by-step solutions from verified subject matter experts
