Mega Code Archive

 
Categories / Java by API / Java Util Concurrent
 

New Semaphore(int permits, boolean fair)

import java.util.concurrent.Semaphore; public class Main {   public static void main(String args[]) throws Exception {     Semaphore sem = new Semaphore(1, true);     Thread thrdA = new Thread(new SyncOutput(sem, "Message 1"));     Thread thrdB = new Thread(new SyncOutput(sem, "Message 2!"));     thrdA.start();     thrdB.start();     thrdA.join();     thrdB.join();   } } class SyncOutput implements Runnable {   Semaphore sem;   String msg;   SyncOutput(Semaphore s, String m) {     sem = s;     msg = m;   }   public void run() {     try {       sem.acquire();       System.out.println(msg);       Thread.sleep(10);     } catch (Exception exc) {       System.out.println("Error Writing File");     }     sem.release();   } }