JUC 辅助类 Semaphore信号灯
一、作用
抢占资源
二、过程
1、生命对象,并设置数量
2、获得资源
3、释放资源
三、案例,强车位
package com.wt.juc; import java.util.Random; import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; public class Demon { public static void main(String[] args) { // 创建信号,并设置数量 Semaphore semaphore = new Semaphore(3); for (int i = 1; i <= 6; i++) { new Thread(()->{ try { // 获取信号 semaphore.acquire(); System.out.println(Thread.currentThread().getName()+"获得车位"); TimeUnit.SECONDS.sleep(new Random().nextInt(5)); System.out.println(Thread.currentThread().getName()+">>>>>>>离开车位"); } catch (Exception e) { e.printStackTrace(); } finally { semaphore.release(); } }, String.valueOf(i)).start(); } } }

浙公网安备 33010602011771号