CSDN|Semaphore 里面居然有这么一个大坑!( 三 )
this.n = n; this.carName = carName; this.semaphore = semaphore; } @Override publicvoidrun{ try{ if(semaphore.availablePermits < n) { System.out.println(Thread.currentThread.getName +"来停车,但是停车位不够了,等着吧"); } semaphore.acquire(n); System.out.println(Thread.currentThread.getName +"把自己的"+ carName +"停进来了,剩余停车位:"+ semaphore.availablePermits +"辆"); //模拟停车时长 intparkTime = ThreadLocalRandom.current.nextInt(1,6); TimeUnit.SECONDS.sleep(parkTime); System.out.println(Thread.currentThread.getName +"把自己的"+ carName +"开走了,停了"+ parkTime +"小时"); }catch(Exception e) { e.printStackTrace; }finally{ semaphore.release(n); System.out.println(Thread.currentThread.getName +"走后,剩余停车位:"+ semaphore.availablePermits +"辆"); } } } 运行后的结果如下(由于是多线程环境 , 运行结果可能不尽相同):
本文插图
本文插图
本文插图
本文插图
本文插图
推荐阅读
- 青年|为什么花呗之前要10号还款?里面的套路竟然第一次知道
- 手机使用技巧|手机变慢了,是里面垃圾太多了,那么怎样清理手机垃圾呢?
- 地球|地心的温度,达到了太阳表面的温度,里面会存在着什么物质
- 互联网|购买手机,你是选择实体店还是网上,敢在拼多多里面买手机吗?
- CSDN|三次改变世界、却被无情出局的程序员
- CSDN|机器学习将会如何影响软件开发和测试?看完这文就懂了
- CSDN|语雀的技术架构演进之路
- CSDN|字节跳动、腾讯回应美国政府行政命令;英特尔回应20GB机密文档被泄露;优麒麟20.04.1发布|极客头条
- CSDNTB|监控系统选型,这篇不可不读
- CSDN|知乎技术热帖:Qt 这么强大为什么火不起来?
