码上敲享录 > java高并发常见问题 > Semaphore最简单的使用

Semaphore最简单的使用

上一章章节目录下一章 2018-08-01已有2345人阅读 评论(0)

Semaphore最简单的使用

答:

import java.util.concurrent.Semaphore;
public class SemaphoreTest {
private Semaphore semaphore = new Semaphore(1);
   public void testMethod() {
try {
semaphore.acquire();

System.out.println(Thread.currentThread().getName() + "执行时间="

+ System.currentTimeMillis());

semaphore.release();
} catch (InterruptedException e) {
           e.printStackTrace()
;
}
   }
}

Semaphore的构造方法表示同一时间内最多只有1个线程可以执行acquire()和release()之间的代码,还可以传入x(必须大于0)的许可,代表同一时间内,最多允许有x个线程可以执行acquire()和release()之间的代码。无参方法acquire()的作用是使用1个许可,是减法操作,无参方法release()的作用是增加1个许可,相当释放资源,别的线程才可以执行这段代码。


本文链接:http://www.yayihouse.com/yayishuwu/chapter/1390


0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交