當前位置:
首頁 >
Semaphore
發布時間:2025/4/16
36
豆豆
SemaphoreDemo.java
package thread;import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit;public class SemaphoreDemo {public static void main(String[] args) {Semaphore semaphore=new Semaphore(3); // 模擬3個停車位for (int i = 1; i <=6 ; i++) { // 模擬6部汽車位new Thread(()->{try {semaphore.acquire();System.out.println(Thread.currentThread().getName()+"\t搶到車位");try{ TimeUnit.SECONDS.sleep(3); }catch (Exception e){ e.printStackTrace(); }System.out.println(Thread.currentThread().getName()+"\t停車3秒后離開車位");} catch (InterruptedException e) {e.printStackTrace();} finally {semaphore.release();}},String.valueOf(i)).start();}} }總結
- 上一篇: CountDownLatch 的使用
- 下一篇: 阻塞队列的应用 || 多线程的条件判断