Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.concurrent.Semaphore;
- import org.omg.PortableServer.POAManagerPackage.State;
- public class Ispit {
- static Semaphore teacher;
- static Semaphore studenti;
- static Semaphore lock;
- static int br;
- static Semaphore ready;
- static Semaphore readyToLeave;
- static Semaphore done;
- public static void init()
- {
- teacher = new Semaphore(1);
- lock = new Semaphore(1);
- studenti = new Semaphore(0);
- br=0;
- ready = new Semaphore(0);
- readyToLeave = new Semaphore(0);
- done = new Semaphore(0);
- }
- public static void Teacher() throws InterruptedException
- {
- teacher.acquire();
- state.teacherEnter();
- studenti.release(50);
- ready.acquire();
- state.distirbuteTests();
- state.endExam();
- readyToLeave.release(50);
- done.acquire();
- teacher.release();
- }
- public static void Student() throws InterruptedException
- {
- studenti.acquire();
- state.studentEnter();
- lock.acquire();
- br++;
- lock.release();
- if(br==50)
- ready.release(); //ako vlegle tocno 50
- readyToLeave.acquire();
- state.studentLeave();
- lock.acquire();
- br--;
- lock.release();
- if(br==0)
- done.release();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement