当前位置: 首页 > 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.zqtcl.cn/news/622255/

相关文章:

  • 淮安企业网站制作科技公司办公室设计
  • 东莞企石网站设计手机能制作网站吗
  • 大连网站建设选高合科技广州开发区人才工作集团有限公司
  • 四川建设招标网站首页价格低廉怎么换个说法
  • 南昌企业制作网站龙华区深圳北站
  • 北京网站设计案例郑州网站设计培训
  • wordpress在lnmp部署百度搜索引擎优化案例
  • asp网站建设 文献综述评价一个网站设计的好坏
  • 做网站虚拟主机配置网站是怎样制作的
  • 网站建设方案 文库新乡网站seo优化
  • 网站优化需要什么软件有没有帮别人做网站
  • 做国外网站选择vps汉中公司做网站
  • ipad网站开发百度推广送的公司网站有什么用
  • 网站被收录wordpress模板游戏推广
  • 做个网站成功案例深圳网络推广工资
  • 河南省城乡与住房建设厅网站做网站的都是什么专业毕业的
  • 做网站月薪10万微信网页开发教程
  • 网站开发组岗位上海著名企业
  • 阿里云网站建设方案网站源码分享
  • 设计感很强的中文网站公司专业网页制作
  • 自己制作网站做外贸赚钱吗什么是网站html静态化
  • 网站中的搜索功能怎么做的网站空间价格
  • 网站内容收费WordPress之类的
  • 好网站推荐一下网站建设客户评价
  • 重庆交通网站建设wordpress08模板
  • 网站搭建响应式wordpress访客切换主题
  • 标准网站建设推荐帮别人做网站开票开什么税目
  • 温州网站优化衡阳县专业做淘宝网站
  • 门户网站建设存在的问题和差距无锡做智能网站
  • 受欢迎的常州做网站网站制作ppt