future.thenAccept(System.out::println);这一行注册了一个回调函数,当上一步异步任务完成时,它会将任务的结果(即字符串"Hello,FunTester!"...传递给System.out::println方法,从而将其打印到控制台。
future.join();这一行是一个阻塞操作,它会等待异步任务完成。...因此,当你运行这个代码时,它会异步执行三个任务,每个任务在上一个任务的结果上追加一个字符串。最终,它会将最终的结果"Task 1 + Task 2 + Task 3"打印到控制台。...exceptionally方法会被调用,并返回备用结果"Timeout occurred"给thenAccept方法,最终被打印到控制台。...输出应该是:
Timeout occurred
如果将超时时间设置为大于5秒,例如orTimeout(6, TimeUnit.SECONDS),那么输出将是:
Result after delay