ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Redis RCountDownLatch RSemaphore的应用

2026/9/25 9:48:29 拓冰建站 浏览量
Redis RCountDownLatch RSemaphore的应用

一、CountDownLatch允许一个或者多个线程等待其他线程完成操作。

0、设置子线程数

RCountDownLatch countDownLatch = redissonClient.getCountDownLatch(DATASOURCE_PLAN_ID + plan.getPlanId());countDownLatch.trySetCount(10);

1、等待线程

 // 等待子线程完成,等待时间30scountDownLatch.await(30, TimeUnit.SECONDS);

2、子线程完成后,减一

RCountDownLatch countDownLatch = redissonClient.getCountDownLatch(redisPrefixKey + this.getPlanId());
countDownLatch.countDown();

二、Semaphore是一个计数信号量,常用于限制可以访问某些资源(物理或逻辑的)线程数目。

RPermitExpirableSemaphore semaphore = redisson.getPermitExpirableSemaphore("mySemaphore");
String permitId = semaphore.acquire();
// 获取一个信号,有效期只有2秒钟。
String permitId = semaphore.acquire(2, TimeUnit.SECONDS);
// ...
semaphore.release(permitId);