Question: implement this code using syncronized import java.util.Random; import java.util.concurrent.*; public class MonkeyPass{ static int path=0; public static void main(String[] args){ Semaphore sem=new Semaphore(1); Monkey arr[]=new

implement this code using syncronized

import java.util.Random;

import java.util.concurrent.*;

public class MonkeyPass{

static int path=0;

public static void main(String[] args){

Semaphore sem=new Semaphore(1);

Monkey arr[]=new Monkey[10];

Gorilla Garr[]=new Gorilla[5];

int count=1;

for(int i=0;i<5;i++){

Garr[i]=new Gorilla(sem);

Garr[i].start();

}

for(int i=0;i<10;i++){

arr[i]=new Monkey(sem);

if(i==0){

count++;

continue;

}

if(i>0 && arr[i-1].dir==arr[i].dir){

count++;

continue;

}

else{

arr[i-1].count=count;

arr[i-1].start();

count=1;

}

}

}

}

class Monkey extends Thread{

public boolean dir;

Semaphore sem;

public int count;

public Monkey(Semaphore sem){

this.sem=sem;

Random o=new Random();

this.dir= o.nextBoolean();

}

public void run(){

try {

sem.acquire();

System.out.println(count+" Monkey(s) "+show());

sem.release();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

private String show(){

if(this.dir){

return "Going";

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!