Semaphore,信号量. 用在多线程环境下对共享资源访问的一种协调机制. 当一个线程想要访问共享的资源时,这个线程需要获取Semaphore,如果Semaphore内部计数器的值大于0,Semaphore就会减少内部计数器的值且允许这个线程访问共享资源: 如果Semaphore内部计数器的值等于0,说明共享资源正在被其他线程访问,就禁止这个线程访问,需等待其他线程释放Semaphore后才能访问. public class Counter { //计数器,共享的资源 public stati
package cn.sasa.demo1; import java.util.concurrent.ExecutionException; public class ThreadDemo { public static void main(String[] args) throws InterruptedException, ExecutionException { //创建Runnable接口实现类对象 Ticket t = new Ticket(); //创建3个Thread类对象,传递R
public class SemaphoreTest { //信号量,只允许 3个线程同时访问 ); public static void main(String[] args) { ExecutorService executorService = Executors.newCachedThreadPool(); ; i < ; i++) { final int num = i; executorService.submit(new Runnable() { @Override public