@RestController
@RequestMapping({"/Test"})
public class test {
private static final Log logger = LogFactory.getLog(test.class);
// 使用 Semaphore 并发限制3个 超过阻塞
private final Semaphore permit = new Semaphore(3, true);
@RequestMapping(value = {"/port"},method = {RequestMethod.POST})
public String portCollect(@RequestBody String in) {
logger.info("in_item=" + in);
String aa = "";
try {
// 获取令牌
permit.acquire();
Thread.sleep(20000);
aa = "222";
} catch (Exception e) {
e.printStackTrace();
} finally {
// 释放令牌
permit.release();
return aa;
}
}
}
springboot 接口并发限制(Semaphore)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 源码项目地址 尝试登录次数控制实现 实现原理 Realm在验证用户身份的时候,要进行密码匹配。最简单的情况就是明文...
- 信号量Semaphore是一个控制访问多个共享资源的计数器,和CountDownLatch一样,其本质上是一个“共...