`

java某个方法并发数控制

 
阅读更多
public class SemaphoreTest {
private Semaphore mSemaphore=new Semaphore(5);

public void run(){
for(int i=0;i<100;i++){
new Thread(new Runnable(){
public void run(){
test();
}
}).start();
}
}

private void test(){
try {
mSemaphore.acquire();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+"开始执行");
try {
//业务方法
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+"执行结束");
mSemaphore.release();
}

public static void main(String[] args) {
SemaphoreTest semaphoreTest=new SemaphoreTest();
semaphoreTest.run();
}
}
分享到:
评论

相关推荐

    Java并发编程(学习笔记).xmind

    用来控制同时访问某个特定资源的操作数量,或者同时执行某个指定操作的数量 管理者一组虚拟的许可。acquire获得许可(相当于P操作),release释放许可(相当于V操作) 应用场景 (1)二值信号...

    java面试800题

    synchronized:控制多个并发线程对共享数据的访问 throwsException:异常处理" Q0044 this&super的异同 "this :引用当前对象 super:引用当前对象的父类 使用情况: (1) super.variable //用来访问父类被隐藏的...

    rate-limiter:限制瞬时发并发数限制某个接口的时间窗口最大请求数 限流实现

    限制瞬时发并发数Guava RateLimiter提供了令牌桶算法实现:平滑突发限流(SmoothBursty) 和 平滑预热限流(SmoothWarmingUp)实现2.限制某个接口的时间窗口最大请求数即一个时间窗口内的请求数,如想限制某个接口/服务 ...

    java面试题

    答:1:封装:通过定义类并且给类的属性和方法加上访问控制 2:继承:子类继承父类,子类可以拥有父类中已定义的方法,并且子类可以修改父类中的方法使其更适合特殊需求。 3:多台:不同对象对统一消息作出不同...

    Java高并发高性能分布式框架从无到有微服务架构设计(1).doc

    避免使用错误的方式,如Exception可以控制方法推出,但是Exception要保留stacktrace 消耗性能,除非必要不要使用 instanceof做条件判断,尽量使用比的条件判断方式.使用JAVA中效率高的类,比如Array List比Vector性能好....

    java核心知识点整理.pdf

    25 JAVA8 与元数据.................................................................................................................................25 2.4. 垃圾回收与算法 .................................

    JAVA核心知识点整理(有效)

    25 JAVA8 与元数据.................................................................................................................................25 2.4. 垃圾回收与算法 .................................

    开涛高可用高并发-亿级流量核心技术

    4.2.3 限流某个接口的总并发/请求数 70 4.2.4 限流某个接口的时间窗请求数 70 4.2.5 平滑限流某个接口的请求数 71 4.3 分布式限流 75 4.3.1 Redis+Lua实现 76 4.3.2 Nginx+Lua实现 77 4.4 接入层限流 78 4.4.1 ngx_...

    javapms门户网站源码

    Java语言之所以受人推崇,是因为它确实称得上是一种新一代编程语言,具有面向对象、可移植性好、与硬件无关、系统强健安全、提供了并发机制、性能高的众多优点,并提供了分布性、多线程、动态性的支持。 Java作为一...

    resin-jvm 调优

    jvm生成的新对象一般放在其中的某个域中。过一段时间,继续存在的对象将获得使用期并转入更长寿命的域中。分代收集器对不同的域使用不同的算法以优化性能。 2.6.并发收集器 并发收集器与应用程序同时运行。这些收集...

    concurrency-limits

    概述Java库,该库实现并集成了从TCP拥塞控制到自动检测服务并发限制的概念,以实现具有最佳延迟的最佳吞吐量。背景传统上,在考虑服务可用性时,运营商会考虑RPS(每秒请求数)。 通常执行压力测试以确定RPS,然后...

    二十三种设计模式【PDF版】

    设计模式之 Template(模板方法) 实际上向你介绍了为什么要使用 Java 抽象类,该模式原理简单,使用很普遍. 设计模式之 Strategy(策略) 不同算法各自封装,用户端可随意挑选需要的算法. 设计模式之 Chain of ...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    1、 Struts是一个为开发基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用架构的开源框架,是利用Servlet,JSP和custom tag library构建Web应用的一项非常有用的技术。由于Struts能充分满足应用开发...

    短信猫:又称GSM MODEM,GSM猫,无线猫,短信模块,GSM模块

    直接使用AT指令:基于串口通讯模式使用AT指令直接操作短信猫,这是最底层的短信猫开发模式,但是我们建议客户尽量不采用此方法,因为这种方式需要对短信猫的AT指令及特性非常熟悉。 短信猫二次开发包:短信猫厂商...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数,其中,M表示精度,代表数字的总位数;N表示小数点右边数字的位数 日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月...

    IIS6.0 IIS,互联网信息服务

    多个域名对应同个Web站点 你只需先将某个IP地址绑定到Web站点上,再在DNS服务器中,将所需域名全部映射向你的这个IP地址上,则你在浏览器中输入任何一个域名,都会直接得到所设置好的那个网站的内容。 搭建IIS服务器...

Global site tag (gtag.js) - Google Analytics