future相关内容

期货在程序终止前不运行

我试图在新的 Scala 2.10 上重现这个例子 期货功能.我使用的代码是: import scala.concurrent.Future导入 scala.concurrent.future对象测试{def main(args: Array[String]) {println("在未来之前测试打印")val s = "你好"val f = 未来 {s +“未来!"}f onSuccess {c ..
发布时间:2021-12-28 22:51:38 其他开发

如何等待多个Future?

假设我有几个未来,需要等到要么它们中的任何一个失败或它们都成功. 例如:假设有 3 个期货:f1、f2、f3. 如果 f1 成功而 f2 失败,我不会等待 f3(并返回 failure给客户). 如果 f2 失败而 f1 和 f3 仍在运行,我不会等待它们(并返回 failure) 如果 f1 成功,然后 f2 成功,我继续等待 f3. 您将如何实施它? 解决方 ..
发布时间:2021-12-28 22:46:54 其他开发

ExecutorService 的未来任务没有真正取消

我将我的期货从 ExecutorService 推送到哈希映射中.稍后,我可能会从哈希映射中调用 Futures 上的取消.虽然结果是真的,但我后来在 Callable 过程中遇到了断点,就好像 Future cancel() 没有效果一样.我认为这可能是这里有两个不同引用的情况(即使在断点时引用 ID 被列为相同),但想知道是否有专家可以插话.代码如下所示: ExecutorService t ..
发布时间:2021-12-28 22:44:57 Java开发

Future 和 Promise 有什么区别?

Future 和 Promise 有什么区别? 它们都充当未来结果的占位符,但主要区别在哪里? 解决方案 根据 this讨论,Promise 最终被称为 CompletableFuture 以包含在 Java 8 中,并且 它的 javadoc 解释说: 可以明确完成的 Future(设置其值和状态),并且可以用作 CompletionStage,支持在其完成时触发的依赖功能和操作 ..
发布时间:2021-12-28 22:40:21 Java开发

将 Java Future 转换为 CompletableFuture

Java 8 引入了 CompletableFuture,这是一种可组合的 Future 的新实现(包括一堆 thenXxx 方法).我想专门使用它,但我想使用的许多库只返回不可组合的 Future 实例. 有没有办法将返回的 Future 实例包装在 CompleteableFuture 内,以便我可以编写它? 解决方案 有一种方法,但你不会喜欢它.以下方法将 Future 转换为 ..
发布时间:2021-12-28 08:43:05 Java开发

C# 中的 Promise 等价物

在 Scala 中有一个 Promise 类可用于手动完成 Future.我正在寻找 C# 中的替代品. 我正在编写一个测试,我希望它看起来像这样: //var MyResult 有一个字段 `Header`var promise = new Promise;handlerMyEventsWithHandler( msg =>承诺.完成(味精););//等待 2 秒var myResult ..
发布时间:2021-12-27 23:42:13 C#/.NET

Scala 恢复或recoverWith

我们公司正在用 Scala 开发一些系统,我们有一些疑问.我们正在讨论如何映射未来的异常,我们不知道什么时候应该使用选项 1 或选项 2. val created: Future[...] = ??? 选项 1: val a = created recovery {案例 e:database.ADBException =>logger.error("失败...", e)throw new b ..
发布时间:2021-12-26 12:49:27 其他开发

为什么Future::select 会先选择睡眠时间较长的future?

我正在尝试了解 Future::select:本例中,先返回延迟时间较长的future. 当我阅读这篇文章 和它的例子,我得到了认知失调.作者写道: select 函数运行两个(或更多,如果是 select_all)期货并返回第一个完成的期货.这对于实现超时很有用. 好像不太明白select的意义. extern crate 期货;//v0.1(旧)extern crate t ..
发布时间:2021-12-19 14:25:44 其他开发

如何将异步函数存储在结构中并从结构实例中调用它?

我正在尝试使用新的 async/await 语法、std::future::Futures 和最近的东京版.我正在使用 Tokio 0.2.0-alpha.4 和 Rust 1.39.0-nightly. 我尝试过的不同方法包括: 使用 Boxs 作为我想存储在结构体中的类型 在结构定义中使用泛型 我无法得到一个最小的工作版本,所以这里是我想要实现的简化版本: async f ..
发布时间:2021-12-14 20:34:31 其他开发

为什么要使用 std::async?

我正在尝试深入探索新 C++11 标准的所有选项,同时使用 std::async 并阅读其定义,我注意到两件事,至少在带有 gcc 4.8.1 的 linux 下: 它被称为async,但它有一个真正的“顺序行为",基本上在你调用与你的异步函数foo未来的那一行/em>,程序会阻塞,直到 foo 执行完成. 它依赖于与其他完全相同的外部库,以及更好的非阻塞解决方案,这意味着 pthread ..
发布时间:2021-12-14 20:31:04 C/C++开发

从“async fn"返回的未来的具体类型是什么?

我应该为存储期货的向量使用什么类型? 我尝试在同一个 URL 上发出多个并发请求,并将所有期货保存到向量中以与 join_all 一起使用. 如果我没有为向量明确设置类型,一切正常.我知道 Rust 可以找到变量的正确类型.CLion 将向量类型确定为 Vec>,但是当我尝试自己设置类型时,它给了我一个错误: error[E0277]:无法知道类型为 `dyn core::futur ..
发布时间:2021-12-14 20:23:59 其他开发

如何有条件地返回不同类型的期货?

我有一个方法,它会根据谓词返回一个或另一个未来.换句话说,一个返回未来的 if-else 表达式: extern crate 期货;//0.1.23使用期货::{未来,未来};fn f() ->impl Future{如果 1 >0 {未来::ok(2).map(|x| x)} 别的 {future::ok(10).and_then(|x| future::ok(x + 2))}} 这不会编译 ..
发布时间:2021-12-14 20:00:14 其他开发

在 Dart 中使用带有 Futures 的循环

好的,所以我有一个文件列表,我需要对列表的每个成员运行一个函数.我基本上想做这样的事情: for(文件中的文件){functionThatReturnsAFuture(文件);} 但显然这行不通,因为返回 Future 的函数异步触发.我唯一的选择是这样吗? List文件 = 新列表();//在某处添加文件未来 processFile(int i) {返回新的 Future.sync(() ..
发布时间:2021-12-11 16:27:15 其他开发

Dartlang 等待不止一个未来

我想在完成很多未来功能后做一些事情,但我不知道如何在dart中编写代码?代码如下: for (var d in data) {d.loadData().then()}//当全部加载完毕//在这里做点什么 但我不想一一等待: for (var d in data) {等待 d.loadData();//不需要这个} 如何在 dart 中编写这些代码? 解决方案 您可以使用 Futur ..
发布时间:2021-12-11 15:49:04 其他开发

在 future-rs 中封装阻塞 I/O 的最佳方法是什么?

我阅读了 tokio 文档,我想知道封装的最佳方法是什么将来昂贵的同步 I/O. 通过反应器框架,我们获得了绿色线程模型的优势:几个操作系统线程通过一个执行器处理大量并发任务. tokio 的未来模型是需求驱动的,这意味着未来本身将轮询其内部状态以提供有关其完成的信息;允许背压和取消功能.据我了解,未来的轮询阶段必须是非阻塞的才能正常工作. 我想要封装的 I/O 可以被看作是一个 ..
发布时间:2021-12-08 11:21:48 其他开发

如何使涉及期货尾递归的函数?

在我的 Scala 应用程序中,我有一个函数调用一个返回 Future[T] 类型结果的函数.我需要在我的递归函数调用中传递映射结果.我希望这是尾递归的,但是地图(或 flatMap)正在破坏这样做的能力.我收到错误“递归调用不在尾部位置." 下面是这种情况的一个简单示例.如何修改这使得调用是尾递归的(不破坏带有 Await.result() 的 Futures 的好处)? import ..
发布时间:2021-12-07 13:18:11 其他开发

访问 Scala 期货返回的值

我是 scala 期货的新手,我对 Scala 期货的回报价值有疑问. 所以,scala 未来的一般语法是 def downloadPage(url: URL) = Future[List[Int]] {} 我想知道如何从调用此方法的其他方法访问 List[Int]. 换句话说, val result = downloadPage("localhost") 那应该怎样才能让L ..
发布时间:2021-12-07 13:14:29 其他开发

Scala 的“for comprehension"与期货

我正在阅读 Scala Cookbook (http://shop.oreilly.com/product/0636920026914.do) 有一个与 Future use 相关的例子,涉及理解. 到目前为止,我对理解的理解是,当与一个集合一起使用时,它将产生另一个具有相同类型的集合.例如,如果每个 futureX 都是 Future[Int] 类型,那么下面的也应该是 Future ..
发布时间:2021-12-07 13:07:22 其他开发