completable-future相关内容
Java的CompletableFuture是给出其方法thenCompose和thenApply的Monad,其中 对应于Haskell中的>>=(绑定)和fmap。 任何单子都能产生一个应用词。现在,CompletableFuture是否有与Haskell中的(Ap)相对应的方法,或者这样的函数可以用现有方法实现吗? 推荐答案 CompletableFuture没有与Has
..
我希望返回包含所有键到值的映射的映射,该值是对这些键的API响应。为此,我使用CompletableFuture和Guava。以下是我的尝试。有没有其他标准的方法来实现与Java 8和线程API相同的功能? 映射为id -> apiResponse(id)。 public static List returnAPIResponse(Integer ke
..
让我们假设以下主要方法: public class Async { public static void main(String[] args) throws Exception { CompletableFuture.supplyAsync(Async::sendMsg); System.out.println(Thread.currentThre
..
我看不到明显的方法来处理带有异步结果的异常。 例如,如果我要重试异步操作,则可能会出现如下情况: CompletionStage cf = askPong("cause error").handleAsync((x, t) -> { if (t != null) { return askPong("Ping"); } else {
..
我正在尝试将List>转换为CompletableFuture>。这非常有用,因为当您有许多异步任务并且需要获取所有这些任务的结果时。 如果它们中的任何一个失败了,那么最终的未来就失败了。我是这样实现的: public static CompletableFuture> sequence2(List
..
我现在尝试了很多东西,但我似乎错过了一块拼图.这是故事:我有一个请求范围的 bean,它从 HttpServletRequest 读取一些 SessionContext.此属性在过滤器中设置.因此,当代码在正确的线程上运行时,这绝对可以正常工作. @Component@Scope(值 = WebApplicationContext.SCOPE_REQUEST,proxyMode = Scoped
..
..
我在他们每个人中都看到了一个例子,但我需要确切地知道 deep 的区别是什么,因为有时我认为我可以同时使用它们来获得相同的结果,所以我想知道以便我可以选择正确的? 分别使用它们有什么好处? 就像这个例子一样: public CompletionStagegetNextQueryUUID() {返回 CompletableFuture.supplyAsync(() -> {String
..
我正在学习 CompletableFuture API,有一个例子: CompletableFuture.completedFuture(url).thenComposeAsync(this::readPage, executor).thenApply(this::getImageURLs).thenApply(this::saveFoundImages)..... 我有一个问题:如果我调用
..
我知道 CompletableFuture 设计不会通过中断来控制其执行,但我想你们中的一些人可能会遇到这个问题.CompletableFuture 是组合异步执行的非常好的方法,但是如果您希望在取消 Future 时中断或停止底层执行,我们该怎么做?或者我们必须接受任何取消或手动完成的 CompletableFuture 不会影响在那里工作以完成它的线程? 在我看来,这显然是一项耗费 ex
..
我正在玩 Java 8 可完成的期货.我有以下代码: CountDownLatch waitLatch = new CountDownLatch(1);CompletableFuture未来 = CompletableFuture.runAsync(() -> {尝试 {System.out.println("等待");waitLatch.await();//取消应该中断System.out.p
..
我没有看到处理具有异步结果的异常的明显方法.例如,如果我想重试异步操作.我期待这样的事情,但是 handleAsync 并没有像你想象的那样做——它异步地在另一个线程上运行回调.在这里返回 CompletionStage 是不正确的.当天的危险问题:thenApply 对 thenCompose 来说就像 exceptionally 对什么? CompletionStagecf = askPon
..
考虑下面的代码 公共类 TestCompletableFuture {BiConsumerbiConsumer = (x,y) ->{System.out.println(x);System.out.println(y);};公共静态无效主(字符串参数[]){TestCompletableFuture testF = new TestCompletable
..
我是 Java 8 中的 lambdas 和异步代码的新手.我不断得到一些奇怪的结果...... 我有以下代码: import java.util.concurrent.CompletableFuture;公开课节目{公共静态无效主(字符串 [] args){for (int i = 0; i cf = CompletableFuture.supplyAsync(() -> doPost(
..
我正在尝试将 List> 转换为 CompletableFuture>.当您有许多异步任务并且需要获取所有任务的结果时,这非常有用. 如果其中任何一个失败,那么最终的未来就会失败.这就是我实施的方式: public static CompletableFuture>序列2(列表> com,ExecutorService exec){如果(com.isEmpty()){抛出新的 Illeg
..
由于 AsyncTask() 方法已被弃用,我正在尝试替换它.以前 AsyncTask() 用于将 CardView 从 Room 数据库加载到 RecyclerView 列表中.我正在尝试使用 CompletableFuture() 作为替代,但该列表未加载.“List getAllCards()"的 Dao 方法;在 Android Studio 中给出错误消息“从未使用过该方法的返回值";所
..
我有一个包含 +1M 条目的数据库,我正在以块的形式查询数据库(假设 chunkSize = 1000). 迭代这个 1000 块,我想为每个实体向rabbitMQ 发布一条消息,将这个块的所有期货收集到一个数组/列表中. 等待这个futures数组,直到所有futures都完成/失败,然后把这个1000的数组过滤成两个新的list(successList,failureList),然
..
我在以下代码中创建了一个供应商,并在异步执行后使用 completableFuture 的 supplyAsync 方法调用另一个方法. public void runParallelFunctions(MyInput myInput) {供应商>taskSupplier = () ->{尝试 {返回 invokeLambda(“input1");} 捕获(异常 e){S
..
方法1 通常,速度很快,效果很好. public static int loops = 500;私有静态ExecutorService customPool = Executors.newFixedThreadPool(loops);..即时启动= Instant.now();LongSummaryStatistics统计信息= LongStream.range(0,循环).boxed(
..
我有些奇怪的情况,似乎不允许这种钉子钉入任何已广泛建立的CompletableFuture孔中. 在一个用于评估返回的布尔值的主要方法中,我想允许对三种不同方法的调用以异步方式完成.这三种方法都可以返回TRUE或FALSE. 如果 any 返回FALSE,我希望评估结果除去其余部分,然后简单地返回该FALSE值.关键是,它可以是三个中的任何,不一定是第一个. 但最重要的是,我需要评估,直
..