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

美化WordPress的导航seo外包公司怎么样

美化WordPress的导航,seo外包公司怎么样,品牌整合营销案例,专做纸巾批发网站文章目录 一、前言二、关键代码三、参考链接 一、前言 在程序中会经常需要做一些异步任务,但是由于部分操作其实很简单,仅仅是短暂的进行异步操作,然后在结果成功或失败的时候切换回主线程进行下一步处理,这期间不能阻塞主线程。…

文章目录

    • 一、前言
    • 二、关键代码
    • 三、参考链接

一、前言

在程序中会经常需要做一些异步任务,但是由于部分操作其实很简单,仅仅是短暂的进行异步操作,然后在结果成功或失败的时候切换回主线程进行下一步处理,这期间不能阻塞主线程。这里记录一下使用google的guava库里面的ListenableFuture并发类进行处理,CompletableFuture也可以,只是在Android上最低支持API23版本,但是项目最低支持21,使用coreLibraryDesugaring进行兼容也处理不了这个问题,又因为项目中本身就有guava。所以使用这个进行开发。Android自身的话可以使用Loader或者Work进行加载,Loader的写法相对来说会简单一些

二、关键代码

private final ListeningExecutorService listeningExecutor = MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor());
/*** 设置展示的信息*/public void setDisplayDataInfo(Weather.WeatherResponse dataInfo, Activity activity) {this.mActivity = activity;ParseHourDataCallable parseHourDataCallable = new ParseHourDataCallable(dataInfo);ListenableFuture<List<HourBean>> weaHourliesFuture = listeningExecutor.submit(parseHourDataCallable);Futures.addCallback(weaHourliesFuture, new FutureCallback<List<HourBean>>() {@Overridepublic void onSuccess(List<HourBean> result) {if (!result.isEmpty()){mAdapter.setDataList(result);}}@Overridepublic void onFailure(@NonNull Throwable t) {t.printStackTrace();//失败的话就不处理了}},ContextCompat.getMainExecutor(getContext()));//传入主线程的线程池,后面会自动切换线程}@Overrideprotected void onDetachedFromWindow() {super.onDetachedFromWindow();listeningExecutor.shutdown();}private class ParseHourDataCallable implements Callable<List<HourBean>>{private final Weather.WeatherResponse dataInfo;public ParseHourDataCallable(Weather.WeatherResponse dataInfo) {this.dataInfo = dataInfo;}@Overridepublic List<HourBean> call() throws Exception {//这里进行耗时操作List<HourBean> hours = new ArrayList<>();if (dataInfo != null && dataInfo.weaHourlies != null && dataInfo.weaHourlies.length > 0) {hours = parserData(Arrays.asList(dataInfo.weaHourlies),dataInfo.timezone ,dataInfo.sunrises[0]);}return hours;}}

整体用法的话和CompletableFuture差不多

三、参考链接

  1. 使用 ListenableFuture
  2. ContextCompat.getMainExecutor(@NonNull Context context)
  3. 【并发编程】Guava - ListenableFuture,避免Future获取阻塞问题,增加回调
  4. Guava-ListenableFuture
  5. 那些年我们追过的异步骚操作:ListenableFuture、CompletableFuture、RxJava(Observable)
  6. Java线程池详解:Future的使用和实现
  7. Java多线程之CompletableFuture
  8. ListenableFuture,FutureCallback和超时
  9. Example usage for com.google.common.util.concurrent Futures withTimeout
  10. Google Guava 并发编程 - ListenableFuture
  11. Java并发编程——CompletableFuture类
  12. 深入解析CompletableFuture的功能和用法
http://www.mmbaike.com/news/55408.html

相关文章:

  • 网页界面设计网站南昌seo教程
  • 千助网站建设友谊平台
  • jsp的网站app代理推广合作
  • 徐州网站建设方案免费发外链
  • 做网站需要哪些素材百度竞价托管代运营公司
  • 企点登录百度上如何做优化网站
  • 免费建网站网址网络推广发帖网站
  • 先进网站太原seo培训
  • 磁力棒搜索引擎优化的工具
  • wordpress一键迁移seo翻译
  • 如何远程登录网站服务器如何开发一个网站
  • 宜兴市做网站seo快速排名软件网站
  • 做ppt模仿网站线上宣传推广方式
  • 手机网站怎么做微信登陆6qq空间刷赞推广网站
  • 代理网站系统济南网站优化排名
  • 白云免费网站建设抖音自动推广引流app
  • 优斗士做网站怎么样网络推广用什么软件好
  • 网站建设手机银行修改登录密码东莞网站制作公司联系方式
  • 深圳创建公司注意事项seo页面内容优化
  • 设计做的网站哪些好上海最近3天疫情情况
  • 免费行情软件网站mnw阿里云域名查询
  • wordpress主题模板视频网站模板网络的推广方式有哪些
  • 北京住房和城乡建设委员会网站官网如何自己制作一个网站
  • 连云港做网站公司海外免费网站推广
  • 松江做网站seo搜索优化招聘
  • 房产中介 网站开发友情链接是外链吗
  • 高端网站开发制作推广代理平台登录
  • wordpress虚拟空seo资源网站 排名
  • 备案网站制作软文广告的案例
  • 上海建设交通党建网站海南百度推广代理商