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

企业网站设计制作服务免费下载ppt模板的网站有哪些

企业网站设计制作服务,免费下载ppt模板的网站有哪些,源代码大全,免费个人网站怎么建立步骤文章目录 一、前言二、关键代码三、参考链接 一、前言 在程序中会经常需要做一些异步任务,但是由于部分操作其实很简单,仅仅是短暂的进行异步操作,然后在结果成功或失败的时候切换回主线程进行下一步处理,这期间不能阻塞主线程。…

文章目录

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

一、前言

在程序中会经常需要做一些异步任务,但是由于部分操作其实很简单,仅仅是短暂的进行异步操作,然后在结果成功或失败的时候切换回主线程进行下一步处理,这期间不能阻塞主线程。这里记录一下使用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.yayakq.cn/news/790845/

相关文章:

  • 企业建个网站要多少钱一张图看懂企业所得税
  • 网站运营与网络营销做网站的软件wd的叫啥
  • 数据网站建设职业生涯规划大赛官网
  • 江门网站制作 华企立方如何优化标题关键词
  • 国外主流媒体网站自适应式网站模板
  • 小说网站怎么做用户画像酒店 深圳 网站制作
  • 企业网站的需求分析学做网站培训
  • 国内 设计网站的公司点匠网站开发流程
  • 做论坛网站需要多少钱信息发布平台
  • 企业网站pc优化做网站推广要注意的事项
  • 网站建设到上线的步骤过程崇信县门户网领导之窗
  • 广州网站建设制作公司用软件什么做网站
  • 建站工具上市河南网站建设yipinpai
  • 郑州pc网站建设站群网站建设推广
  • 做网站代理商好赚吗?教育网站前置审批
  • 做网站考虑的方面云南微网站建设的公司有哪些
  • 怎样更新网站内容杭州网站改版
  • 公司如何做网站不发钱做网站优化如何遍文章
  • 温州中豪网站建设推广手机wordpress打不开
  • net网站阿里云主机配置典型十大优秀网络营销案例
  • 网站建设的难点特色设计网站推荐
  • 改成 响应式 网站淘宝客做自己的网站
  • 优秀企业网站的特点1元购类似网站架设药多少钱
  • 设计好网站淮南医院网站建设
  • 移动端网站做排名wordpress图片
  • 怎么在网站上做模式题库公司做网站推广百度和阿里巴巴
  • 东莞网站建设网站网站建设经营范围怎么写
  • 电子商务网站策划书模板湖北高速公路建设网站
  • 地方门户信息网站建设方案南京网站网站建设公司
  • 佛山市网站开发免费个人网页制作