Question: (a) Write a Java class to control access to a classroom of 100 students using semaphores, with a first-come, first-served guarantee that students who arrive

(a) Write a Java class to control access to a classroom of 100 students using semaphores, with a first-come, first-served guarantee that students who arrive first are allowed to access the classroom before late arriving students. Your class should have two methods EnterClass and LeaveClass.

(b) Write a main program to test part 2, generating 30 students every 5 minutes. You do not need to write the Student thread class.

(c) Explain why class Q4 below is not thread safe. Re-write it to make it thread safe.

class Q4{

private boolean f[] = new boolean[20];

public Q4(){ for(int j = 0; j < 20; j++) f[j] = true;}

public void negate(int a, int b){

for(int j = a; j < b; j++)f[j] = !f[j]; }

public void swap(int a, int b){

boolean temp = f[a]; f[a] = f[b]; f[b] = temp; } }

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!