当前位置: 首页 > news >正文

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);

相关文章:

  • sklearn 计算 tfidf 得到每个词分数
  • [C#][opencvsharp]opencvsharp sift和surf特征点匹配
  • lua只读表
  • Security ❀ TCP异常报文详解
  • 【JavaEE进阶】 图书管理系统开发日记——肆
  • git的分支的使用,创建分支,合并分支,删除分支,合并冲突,分支管理策略,bug分支,强制删除分支
  • 字面跳动前端面试题:React Hook为什么不能放在if/循环/嵌套函数里面?
  • js数组和字符串之间的转换方式以及数组的一些方法
  • 51单片机实验课二
  • 二、人工智能之提示工程(Prompt Engineering)
  • JAVA中枚举的方法
  • Java基础 集合(二)List详解
  • 【CSS + ElementUI】更改 el-carousel 指示器样式且隐藏左右箭头
  • Qt应用软件【数据篇】大小端数据转换
  • Linux进程信号处理:深入理解与应用(2​​)
  • 【剑指offer】让抽象问题具体化
  • CSS 提示工具(Tooltip)
  • httpie使用详解
  • JavaScript DOM 10 - 滚动
  • JavaScript 基础知识 - 入门篇(一)
  • Java-详解HashMap
  • Laravel 中的一个后期静态绑定
  • Logstash 参考指南(目录)
  • mac修复ab及siege安装
  • mysql外键的使用
  • Next.js之基础概念(二)
  • PermissionScope Swift4 兼容问题
  • Python爬虫--- 1.3 BS4库的解析器
  • React-redux的原理以及使用
  • vuex 学习笔记 01
  • XForms - 更强大的Form
  • 编写符合Python风格的对象
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 计算机常识 - 收藏集 - 掘金
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 推荐一个React的管理后台框架
  • 异常机制详解
  • 硬币翻转问题,区间操作
  • 正则学习笔记
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #Lua:Lua调用C++生成的DLL库
  • #微信小程序:微信小程序常见的配置传旨
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (Python第六天)文件处理
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (ZT)薛涌:谈贫说富
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)计算机毕业设计大学生兼职系统
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • ./configure,make,make install的作用(转)
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记