Semaphore

网友投稿 313 2022-09-05

Semaphore

信号量主要用于两个目的:

1.用于多个共享资源的互斥使用

2.用于并发数的控制.

import java.util.concurrent.Semaphore;import java.util.concurrent.TimeUnit;public class SemaphoreDemo { public static void main(String[] args) { Semaphore semaphore = new Semaphore(3); for (int i = 0; i <= 6; i++) { new Thread(() -> { System.out.println(Thread.currentThread().getName() + "\t 抢到车位"); try { semaphore.acquire(); System.out.println(Thread.currentThread().getName()); try { TimeUnit.SECONDS.sleep(3); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + "\t 停车三秒后离开车位"); } catch (InterruptedException e) { e.printStackTrace(); } finally { semaphore.release(); } }, String.valueOf(i)).start(); } }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:郎平:不管是高光还是低谷 都要把自己摆在一个正确的位置!
下一篇:还剩4天金牌榜中国仍领先7金,美国田径表现低迷,想追上难了?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~