ScheduleAtFixedRate不使用Future Java 8提供输出
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ScheduleAtFixedRate不使用Future Java 8提供输出,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含747字,纯文字阅读大概需要2分钟。
内容图文
![ScheduleAtFixedRate不使用Future Java 8提供输出](/upload/InfoBanner/zyjiaocheng/668/68e2de0fb46a453982a4caf0ecebc6bc.jpg)
在以下代码中,scheduleAtFixedRate会无限运行.
所以问题是:
为什么Java提供无限线程执行方案?
Runnable task1 = () -> System.out.println("Hello Zoo");
Future<?> result = service1.scheduleAtFixedRate(task1, 8, 2, TimeUnit.SECONDS);
System.out.println(result.get());
System.out.println(result.isDone());
该程序从不打印result.get()的输出,该输出应该为null或System.out.println(result.isDone());.应该是0.
因此,我在调用scheduleAtFixedRate之后的观点应该是不可访问的.
解决方法:
scheduleAtFixedRate返回的期货描述如下:
… the task will only terminate via cancellation or termination of the executor.
因此,调用其get方法将永远等待,因为:
Waits if necessary for the computation to complete, and then retrieves its result.
因此,您将永远等待Future.get()方法返回.
内容总结
以上是互联网集市为您收集整理的ScheduleAtFixedRate不使用Future Java 8提供输出全部内容,希望文章能够帮你解决ScheduleAtFixedRate不使用Future Java 8提供输出所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。