12.使用若依异步的功能

引言

在软件开发中,经常会遇到耗时操作,有时候耗时操作会对主逻辑的运行时间有影响,但是耗时的操作又不需要实时反馈,就可以使用异步操作。比如日志的记录,启动程序时,也可以降一下启动时候的耗时操作,进行异步,先把程序启动起来,然后异步操作慢慢执行。

若依用法

常见的就是日志的记录,以登录为例:

AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));

AsyncManager.me()是一个线程池的单例,execute执行的是一个timetask方法。

项目实战

在某个项目中,可以将某些逻辑进行异步化。比如启动时候异步加载资源与异步执行业务逻辑。

// 案例1:
// 配置人脸检测器的激活if (isFaceActive){// 初始化人脸检测器FaceEngineUtil faceEngineUtil = FaceEngineUtil.getInstance();faceEngineUtil.activate(appId,sdkKey,activeKey,enginLibPath);faceEngineUtil.initFaceEngine(enginLibPath);FaceEngine faceEngine = faceEngineUtil.getFaceEngine();AsyncManager.me().execute(new TimerTask() {@Overridepublic void run() {//批量注册人脸库中的人脸faceEngineUtil.registerFaceImgPath(faceEngine,faceRepo);}});}
// 案例2:// 转化为jsonobject对象JSONObject attendanceUploadJO = (JSONObject) JSON.toJSON(attendanceUpload);// 获得当前对象EventApiServiceImpl eventApiService = this;AsyncManager.me().execute(new TimerTask() {@Overridepublic void run() {// 调用考勤 接口eventApiService.uploadAttendanceInfo(attendanceUploadJO);}});

总结,不用非得到若依的framework组件中去写代码,直接在程序中进行异步即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/139471.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ES6学习

let和const命名 let基本用法-块级作用域 在es6中可以使用let声明变量,用法类似于var ⚠️ let声明的变量,只在let命令所在的代码块内有效 {let a 10;var b 20; } console.log(a); //a is not defined console.log(b); //20不存在变量提升 var命令…

部署ChatGLM3对话预训练模型

ChatGLM3是智谱AI和清华大学KEG实验室联合发布的新一代对话预训练模型。ChatGLM3-6B是ChatGLM3系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B引入了如下特性: 更强大的基础模型:C…

Map集合5种遍历方式

1、 方法 package com.csdn; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; public class MapDemo {public static void main(String[] args) {//1、添加元素:无序,不重复,无索引Map…

JAVA -----Java Management Extensions (JMX) 详解1

一、通过Jconsole本地访问 在j2se6之前,需要在应用启动的时候,加上com.sun.management.jmxremote参数,该参数默认值为true,实例如下: java -Dcom.sun.management.jmxremotetrue ,如果禁用本地访问java -Dcom.sun.mana…

如何提升管理组织能力?

组织能力能力属于管理能力中的一部分,所以也称之为管理组织能力,组织是将人和事物的组合,有效的梳理和导向结果的能力。每个人都有组织能力,只是能力和效率上存在较大的差异。 一人的组织能力从学生时代就能体现出来,…

Unbuntu安装、测试和卸载gcc11

GCC 可用于编译 C、C,本文介绍如何 Ubuntu 上安装 gcc11、测试和卸载它。 1. 在Ubuntu 上安装 gcc11 添加工具链存储库 sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test在 Ubuntu 上安装 gcc11 sudo apt install -y gcc-11验证 gcc11 版本 gcc-11 --v…

本地浏览器全局翻译 demo 以火狐firefox为例【免费-简单】

translateDemo 介绍使用说明简单到流泪 本地浏览器全局翻译 demo 以火狐firefox为例 1、安装插件 使用少量的 JavaScript 脚本,自由定义网页显示与运行方式。2、将上述脚本 追加到 插件中即可实现全局翻译;3、免费;参与贡献特技 translateDe…

尼得科电机的强大性能,将列车门和屏蔽门的开合变得从容而安全

城市脉动,人流涌动。 无论城市轨道交通还是远途铁路运输, 尼得科电机的强大性能,将列车门和屏蔽门的开合变得从容而安全。 尼得科的电机方案,有助于列车门稳准开闭,保障乘客安全无忧。高效驱动,让乘客的行程…

Fabric: 使用InvokeChaincode实现跨通道数据访问

因为工作中遇到一些问题考虑使用Fabric的跨通道链码调用方法InvokeChaincode()来解决,这篇文章主要是记录以下在Fabric测试网络中InvokeChaincode()的使用过程及遇到的问题。 1 前期准备 1.1 认识InvokeChaincode InvokeChaincode的作用是调用指定的链码。而被调用…

Oracle(15)Managing Users

目录 一、基础知识 1、Users and Security 用户和安全 2、Database Schema 3、Checklist for Creating Users创建用户步骤 二、基础操作 1、创建一个用户 2、OS Authentication 操作系统身份验证 3、Dropping a User 删除用户 4、Getting User Information 获取用户信…

Leetcode100120. 找出强数对的最大异或值 I

Every day a Leetcode 题目来源:100120. 找出强数对的最大异或值 I 解法1:模拟 枚举 2 遍数组 nums 的元素,更新最大异或值。 代码: /** lc appleetcode.cn id100120 langcpp** [100120] 找出强数对的最大异或值 I*/// lc c…

Leetcode—765.情侣牵手【困难】

2023每日刷题&#xff08;二十七&#xff09; Leetcode—765.情侣牵手 并查集置换环思路 参考自ylb 实现代码 class Solution { public:int minSwapsCouples(vector<int>& row) {int n row.size();int len n / 2;vector<int> p(len);iota(p.begin(), p.…

C语言--从键盘输入当月利润I,求应发奖金总数。

题目描述&#xff1a; 企业发放的奖金根据利润提成。利润I低于或等于100000元的&#xff0c;奖金可提成10%; 利润高于100000 元&#xff0c;低于200000元(1000001000000时&#xff0c;超过1000000元的部分按 1%提成。从键盘输入当月利润I,求应发奖金总数。 int main() {int m…

提升ChatGPT答案质量和准确性的方法Prompt专家

文章目录 1、提供示例2、分步推理3、表格格式4、prompt转换器5、批判性提示6、比较提示7、逆向提示生成器心得分享1、提供示例 当你想模仿 某个事物的时候,比如:文案/风格/语气/语法的时候,模仿李白、马云、马斯克 当你想复制 一种难以明确描述,抽象形式的时候; 我们为cha…

前端面试题 计算机网络

文章目录 ios 7层协议tcp协议和udp协议的区别tcp协议如何确保数据的可靠http和tcp的关系url输入地址到呈现网页有哪些步骤post和get本质区别&#xff0c;什么时候会触发二次预检GET请求&#xff1a;POST请求&#xff1a;触发二次预检&#xff08;CORS中的预检请求&#xff09;&…

Nacos 2.1.1 正式发布!堪称最强!

最近Nacso 2.1.1 正式发布了&#xff01; 新特性 该版本的核心解决方案 Nacos 2.0 包括使用公开发布的稳定性问题&#xff08;默认实现、Grpc 请求和发行版的一致性性能等&#xff09;&#xff0c;另外 Beta 测试插件“测试两个注册 协议服务”和“服务跟踪 ”个新功能。 注…

通过顶顶通呼叫中心中间件玩转FreeSWITCH媒体流

怎么获取FreeSWITCH的媒体流是一个老生常谈的问题了&#xff0c;最常见的方法media_bug,我在2019年就做的FreeSWITCH对接ASR开源的例子https://gitcode.net/iyaosan/FreeSWITCH-ASR用的就是media_bug&#xff0c;对接ASR常见的方法还有通过mod_mrcp模块对接mrcp的asrserver。 …

Mysql联合查询

Mysql联合查询 T1表结构&#xff08;用户名,密码&#xff09; useridusernamepassword1jackpwd12owenpwd2 T2表结构&#xff08;用户名,密码&#xff09; useridjifendengji12033506 第一&#xff1a;内联&#xff08;inner join&#xff09; 如果想把用户信息、积分、等…

c++ 信奥编程 1135:配对碱基链

#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main(){char a[256];int len;int i;gets(a);lenstrlen(a);//计算字符串长度for(i0; i<len; i){ //输出配对碱基if(a[i]A) cout<<"T";if(a[i]T) cout<…

you-get - 使用代码下载视频

文章目录 关于 you-get代码调用报错处理 源码简单分析 关于 you-get github : https://github.com/soimort/you-get you-get 是一个有名的开源视频下载工具包&#xff0c;这里不赘述。 代码调用 you-get 提供了命令行的方式下载视频&#xff0c;这里介绍使用 Python 调用源代…