文章目录
前言
记录springboot项目环境下JUC工具的使用场景
Semaphore[信号量]
信号量,用来限制能同时访问共享资源的线程上限
示例–控制耗时任务执行的线程数
/**
* 控制耗时任务执行的线程数
*/
@Api(tags = "Semaphore测试")
@RestController
@RequestMapping("/semaphore/test")
public class SemaphoreTestController {
private static final Logger LOGGER = LoggerFactory.getLogger(SemaphoreTestController.class);
@Autowired
private ThreadPoolTaskExecutor taskExecutor;
private Semaphore semaphore = new Semaphore(3);
@PostMapping("/doTask")
public ApiResult<String> test() {
if (semaphore.availablePermits() == 0) {
LOGGER.

本文介绍了如何在SpringBoot项目中使用Semaphore信号量控制耗时任务并发,CountDownLatch倒计时器实现多线程同步,以及CyclicBarrier循环屏障在Excel多sheet计算汇总中的应用。通过实例演示了这些Java并发工具在提高效率和线程协作中的关键作用。
最低0.47元/天 解锁文章
1083

被折叠的 条评论
为什么被折叠?



