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

洛阳网站建设制作多少钱线上推广的意义

洛阳网站建设制作多少钱,线上推广的意义,应用商店正版下载安装,建设银行包头分行网站文章目录 ListenableFuture#xff0c;带返回值的Guava多线程处理工具类举个例子扩展阅读 最近在学习#xff0c;Java实现异步编程的8种方式这篇博客的时候#xff0c;没有找到比较好的一个学习demo#xff0c;故在此整理一下。 ListenableFuture#xff0c;带返回值的Gua… 文章目录 ListenableFuture带返回值的Guava多线程处理工具类举个例子扩展阅读 最近在学习Java实现异步编程的8种方式这篇博客的时候没有找到比较好的一个学习demo故在此整理一下。 ListenableFuture带返回值的Guava多线程处理工具类 ListenableFuture是Java中的一个接口它继承自java.util.concurrent.Future接口。ListenableFuture主要用于异步计算场景允许在计算完成后添加回调函数Callback从而实现对异步任务执行结果的监听和处理。 与普通的Future不同ListenableFuture提供了一种更加灵活且易于使用的方式来处理并发操作。当你提交一个任务到ExecutorService时会返回一个ListenableFuture对象。这个对象表示将来某个时间点上可用的结果并允许你在该结果可用时触发回调函数。 为了实现这一功能ListenableFuture提供了两个关键方法 addListener(Runnable listener, Executor executor)此方法允许用户向ListenableFuture注册一个Runnable类型的监听器在异步任务完成时由指定的executor执行。addCallback(FutureCallback? super V callback, Executor executor)此方法允许用户向ListenableFuture注册一个带有成功和失败处理逻辑的回调函数在异步任务完成或出错时由指定的executor执行。 Google Guava库提供了对ListenableFutures进行操作、转换和组合等高级功能支持。例如 Futures.transform()基于原始 ListenableFuture 的值创建新 ListenableFutures。Futures.allAsList() 和 Futures.successfulAsList()将多个 ListenableFutures 组合成单个 Future。Futures.immediate* 系列方法创建已经具备特定值或异常状态下立即完成的 ListenableFutures。 总之ListenableFuture提供了一种更加灵活、高效且易于使用的方式来处理并发操作和异步任务。它允许开发者在计算完成后添加回调函数从而实现对异步任务执行结果的监听和处理。 举个例子 下面是一个使用ListenableFuture的示例其中在for循环中提交了多个任务 import com.google.common.util.concurrent.*;import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.Executors;public class ListenableFutureDemo {public static void main(String[] args) {// 创建一个线程池ListeningExecutorService executorService MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(5));// 用于存储所有的ListenableFuture对象ListListenableFutureString futures new ArrayList();for (int i 0; i 10; i) {final int taskId i;CallableString task () - {Thread.sleep(1000); // 模拟耗时操作return Task taskId completed;};ListenableFutureString future executorService.submit(task);Futures.addCallback(future, new FutureCallback() {Overridepublic void onSuccess(String result) {System.out.println(Success: result);}Overridepublic void onFailure(Throwable t) {System.err.println(Error occurred while executing task taskId);t.printStackTrace();}}, MoreExecutors.directExecutor());futures.add(future);}try {// 等待所有任务完成并获取结果。ListString results Futures.allAsList(futures).get();System.out.println(All tasks completed successfully. Results: );results.forEach(System.out::println);executorService.shutdown(); // 关闭线程池} catch (Exception e) {e.printStackTrace();}} }这个示例首先创建了一个ListeningExecutorService实例。然后在for循环中创建并提交了10个Callable任务。每次迭代都会将新创建的ListenableFuture添加到futures列表中。 我们还为每个future添加了回调函数以便在任务成功或失败时执行相应的操作。最后我们等待所有future完成并输出它们的结果。 扩展阅读 Java实现异步编程的8种方式
http://www.ho-use.cn/article/10823111.html

相关文章:

  • 帝国cms制作网站地图asp.net 网站写好后如何运行
  • 高端品牌网站定制织梦网站首页幻灯片不显示
  • 做卖车网站需要什么手续企业数据哪里找
  • 当今做啥网站致富网络营销推广公司网站有哪些
  • 克拉玛依网站建设公司北辰网站建设
  • 网站服务器选购网站建设与发布
  • 怎么看网站建设时间网页版微信小程序
  • siteground建站教程重庆关键词自然排名
  • 天津网站建设 Wordpress宣传片拍摄制作流程
  • 南昌定制网站开发公司网页美工工资水平
  • 济宁建设网站制作做网站的公司是接入商吗
  • 聊城网站制作价格网站开发需要书籍
  • 深圳做h5网站公司wordpress相册编辑插件下载
  • 做效果图的网站有哪些软件新闻热点事件及评论
  • 中国建设部网站能查叉车证wordpress 中文附件
  • 哪些网站是可以做网络推广的查询域名备案
  • 苏州微网站建设公司哪家好在线代理网址
  • 做直播网站软件自己的电脑怎么做网站
  • 网站建设设计价格山西省城乡住房建设厅网站首页
  • 网站进行中英文转换怎么做dw网页制作在线编辑
  • 昆明云南微网站建设小困网络科技泰安有限公司
  • 可信网站 如何验证小程序店铺
  • 如何查看网站备案信息网站验证码体验
  • 网站建设收税简单一点的网站建设
  • phpcms二级栏目文章列表调用网站最新文章的方法天猫官方网站首页
  • 商城做网站好还是淘宝合肥网站开发需要多
  • 建站模板建网站个人个性网页界面设计
  • 绍兴网站制作公司ipv6网站建设东莞
  • 一般网站建设需要哪些东西wordpress会员小图标
  • 荆州市做网站的wordpress搬家出问题