- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设 API 方法返回 ListenableFuture<T>
,返回值实现为SettableFuture<T>
。有没有办法返回一个“ListenableFuture”,而该“ListenableFuture”不能被转换回 SettableFuture 并由行为不当的客户端完成?
因此,ListenableFuture 的只读 View 。类似于用 .unmodifiableCollection
包装集合.
最佳答案
最简单的方法可能是:
返回 Futures.transform(future, x -> x);
请注意, future 仍然是“可写的”,因为人们可以取消
它。如果你想阻止用户甚至取消原来的 future - 我认为你不关心这一点,但无论如何我想提出它,因为你说“只读” - 那么你可以使用:
返回Futures.nonCancellationPropagating(future);
关于java - 只读 SettableFuture 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47393354/
假设 API 方法返回 ListenableFuture ,返回值实现为SettableFuture 。有没有办法返回一个“ListenableFuture”,而该“ListenableFuture”
我是否可以假设一个 SettableFuture 充当异步代码中的 Fiber (它应该假设为一个 ForkJoinTask)? A Quasar SettableFuture can block f
我正在将使用并发 Guava 库的 Java 代码移植到 C#。我发现了 SettableFuture 和 ListenableFuture 的许多用途。 是否有非常接近此模式的 C# 类?或者是否存
我遇到了一个以前从未见过的错误,当我的项目找不到bilder .jar 文件并重新下载它时,它开始出现,即使在添加任何类型的新项目中,它也会显示下面的错误依赖关系,我正在使用 Android stud
为什么当我运行应用程序时,我总是在 Android Studio 上失败? 我试图找到一个解决方案,但没有答案 像这样的错误: org.gradle.api.tasks.TaskExecutionEx
我是一名优秀的程序员,十分优秀!