阿里网站备案寄材料,免费成品网站下载,网站建设有名的公司,有区域名和主机怎么做网站引言
在软件开发中#xff0c;经常会遇到耗时操作#xff0c;有时候耗时操作会对主逻辑的运行时间有影响#xff0c;但是耗时的操作又不需要实时反馈#xff0c;就可以使用异步操作。比如日志的记录#xff0c;启动程序时#xff0c;也可以降一下启动时候的耗时操作经常会遇到耗时操作有时候耗时操作会对主逻辑的运行时间有影响但是耗时的操作又不需要实时反馈就可以使用异步操作。比如日志的记录启动程序时也可以降一下启动时候的耗时操作进行异步先把程序启动起来然后异步操作慢慢执行。
若依用法
常见的就是日志的记录以登录为例
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组件中去写代码直接在程序中进行异步即可。