首页 文章
  • 12 votes
     answers
     views

    Akka演员,期货和关闭

    我在Akka docs中读到,关闭封闭演员的变量是危险的 . 警告在这种情况下,您需要小心避免关闭包含actor的引用,即不要在匿名Actor类中调用封闭actor上的方法 . 这会打破actor封装,并可能引入同步错误和竞争条件,因为其他actor的代码将同时调度到封闭的actor . 现在,我有两个演员,其中一个从第二个请求某些东西,并对结果做了一些事情 . 在下面的这个例子中,我放在一起...
  • 0 votes
     answers
     views

    Scala期货在演员中创造无限线索

    我在actor中使用future和timeout来避免系统等待多长时间执行命令: val _output = future { "myCommand.sh" !! } output = try { Await.result(_output, 3 minutes) } catch { case e: TimeoutException => { ...
  • 6 votes
     answers
     views

    单元测试异步scala代码

    尝试并发执行我想知道如何实际测试它 . 执行流程具有副作用,并且创建期货以包装独立的执行/处理 . 一直在寻找一些关于如何正确单元测试以下场景的好例子( foo 和 bar 是我想测试的方法): scenario #1 def foo : Unit = { Future { doSomething } Future { doSomethingElse } } private de...
  • 0 votes
     answers
     views

    未来{blocking {created new Future {}}} - 嵌套期货会阻止父母一个人

    我试图在实际代码中模拟我的情况 . 用例很简单:有: Future {blocking { // in there it calls nested futures }} 更详细的(全局执行上下文用作父级,但有一个尝试使用separete one for children): object ExContexts { val main = scala.concurrent.Ex...
  • 12 votes
     answers
     views

    Akka:正确使用`ask`模式?

    我正试图找到 Futures 并在akka中询问模式 . 所以,我制作了两个演员,一个要求另一个演员给他回信息 . 好吧,根据akka的 Futures 文件,演员应该询问( ? )的消息,它应该给他一个 Future instanse . 然后actor应该阻止(使用 Await )获得 Future 结果 . 好吧,我永远不会完成我的未来 . 这是为什么? 代码是: package head...
  • 0 votes
     answers
     views

    使用Java编写带有Akka可能失败的未来

    我正在尝试将未来的构图概念应用到我自己的应用程序中 . 根据Akka文档,你可以这样做(http://doc.akka.io/docs/akka/snapshot/java/futures.html): final ExecutionContext ec = system.dispatcher(); //Some source generating a sequence of Future<...
  • 9 votes
     answers
     views

    在Scala 2.10中杀死或超时未来

    嗨, 我试图编写一些代码来测试无限循环 . 我使用 scala.concurrent.Future 在一个单独的线程中使用循环运行代码 . 然后我想等一会儿做一些测试,然后杀死单独的线程/未来 . 我看过 Await.result 但实际上并没有杀死未来 . 有没有办法超时或杀死新的Scala 2.10期货? 我宁愿不必为这个简单的部分添加外部依赖项,如Akka .
  • 6 votes
     answers
     views

    在期货清单上流式传输的最有效方式

    我通过流式传输对象列表来调用异步客户端方法 . 该方法返回Future . 迭代调用后返回的Futures列表的最佳方法是什么(以便处理那些首先出现的Future)? 注意:异步客户端仅返回Future not CompletableFuture . 以下是代码: List<Future<Object>> listOfFuture = objectsToProcess.pa...
  • 20 votes
     answers
     views

    摆脱Scala Future嵌套

    当函数依赖于未来的某些结果时,我一次又一次地挣扎 . 这通常归结为像Future [Seq [Future [MyObject]]]这样的结果 为了摆脱这一点,我现在在辅助函数中使用Await来获取非未来对象并减少嵌套 . 看起来像这样 def findAll(page: Int, perPage: Int): Future[Seq[Idea]] = { val ideas: Future...
  • 98 votes
     answers
     views

    Scala:将[未来]列入未来[List],忽略失败的未来

    我使用Playframework,所以最终,我真正想要的是 Future[Result] ,但是为了简单起见,让我们说 Future[List[Int]] 这样做的正常方法是使用 Future.sequence(...) 但是's a twist... The list I' m通常有大约10-20个期货在它中,它希望能够获得那些成功并返回那些的东西 . 例如,执行以下操作不起作用 import ...
  • 1 votes
     answers
     views

    如何正确使用Scala Futures?

    我想知道Futures是否更适合与Actors一起使用,而不是在不使用Actor的程序中 . 换句话说,正在进行异步计算,以及将来最好在Actors系统内完成的事情吗? 这就是我说的原因: 1 - 您执行计算,结果将触发您可能在另一个线程中执行的某些操作 . 例如,我有一个很长的操作来确定某些东西的价格,从我的主线程,我决定为它启动异步过程 . 与此同时,我可以做其他事情,然后当响应准备好/可用...
  • 1 votes
     answers
     views

    Scala的Future和ExecutionContext执行

    假设我有以下一组代码在未来做了一些事情: 1 to 10 foreach { case x => Future { x + x } } 假设我给这段代码提供了默认的ExecutionContext,我知道后台会发生什么,但我想知道的是如何实现Future的处理呢?我的意思是应该有一些线程或一组线程可能等待Future完成?这些线程被阻止了吗?在他们真正等待未来完成的意义上阻止? 现在在...
  • 19 votes
     answers
     views

    Python:等待所有`concurrent.futures.ThreadPoolExecutor`的未来

    我给了 concurrent.futures.ThreadPoolExecutor 一堆任务,我想等到它们全部完成后再继续流程 . 我怎么能这样做,而不必保存所有的期货,并在其上调用 wait ? (我想对执行者采取行动 . )
  • 4 votes
     answers
     views

    Java 8可完善的未来

    我的问题是如何使用Completable Future . 我有一个实现Callable的类 . public class Executor implements Callable<Collection> 早先用来做 - service.submit(collectorService); 哪个会返回 Future<Collection> . 但是我们不想再使用未来,需...
  • 22 votes
     answers
     views

    斯卡拉等待期货序列

    我希望像下面这样的代码会等待两个期货,但事实并非如此 . object Fiddle { val f1 = Future { throw new Throwable("baaa") // emulating a future that bumped into an exception } val f2 = Future { Thread.sleep...
  • 2 votes
     answers
     views

    如何在Java中实现非阻塞期货

    Java Future对象用于获取由并行线程(Executors)执行的异步计算的结果 . 我们调用Future.get()方法并等待结果准备好 . 此示例显示了从Future检索结果的非阻塞方式 . java-implement-java-non-blocking-futures . NonBlockingExecutor executor = new NonBlockingExecutor(...
  • 67 votes
     answers
     views

    Scala中的异步IO与期货

    假设我从一些URL下载了一个(可能很大)的图像列表 . 我正在使用Scala,所以我要做的是: import scala.actors.Futures._ // Retrieve URLs from somewhere val urls: List[String] = ... // Download image (blocking operation) val fimages: List[Fu...
  • 174 votes
     answers
     views

    未来和承诺之间有什么区别?

    Future 和 Promise 有什么区别?它们都像未来结果的占位符,但主要区别在哪里?
  • 78 votes
     answers
     views

    如何等待几个期货

    假设我有几个期货,需要等到其中任何一个失败或全部成功 . 例如:让3个期货: f1 , f2 , f3 . 如果 f1 成功且 f2 失败,我不等待 f3 (并将失败返回给客户端) . 如果 f2 在 f1 和 f3 仍在运行时失败,我不等待它们(并返回失败) 如果 f1 成功,然后 f2 成功,我继续等待 f3 . 你会如何实现它?
  • 48 votes
     answers
     views

    斯卡拉对期货的“理解”

    我正在阅读斯卡拉食谱(http://shop.oreilly.com/product/0636920026914.do) 有一个与未来使用有关的例子涉及到理解 . 到目前为止,我对理解的理解是,当与集合一起使用时,它将生成具有相同类型的另一个集合 . 例如,如果每个 futureX 的类型为 Future[Int] ,则以下类型也应为 Future[Int] 类型: for { r1 &lt...
  • 2 votes
     answers
     views

    在Scala中获取未来的数据

    我有 Future[List[Person]] [1],我想从中得到 List[Person] . 我该怎么做 ? import scala.concurrent.Future val futPersons : Future[List[Person]] = ....
  • 2 votes
     answers
     views

    将可完成的futeres列表转换为列表的一个可完成的未来

    我有一个 CompletableFuture 实例列表 . List<CompletableFuture<String>> listOfFutures; 如何将它们转换为这样的未来: CompletableFuture<List<String>> futureOfList = convert(listOfFutures);
  • 6 votes
     answers
     views

    Scala未来序列和超时处理

    如何结合期货with timeouts有一些很好的提示 . 不过我很好奇如何用 Future sequence sequenceOfFutures 做到这一点 我的第一种方法看起来像这样 import scala.concurrent._ import scala.concurrent.duration._ import scala.concurrent.ExecutionContext.Impl...
  • 0 votes
     answers
     views

    未来结果的Scala过滤器集合

    我有一个名为Source的类,它有lazy val isValid,它执行一些需要时间的网络检查 . 我've made it to return Future[Boolean] so it won't阻止主线程: lazy val isValid: Future[Boolean] = doSomeChecks() 现在,我想查看几个来源并丢弃无效的来源 .这是一些伪代码: val source...
  • 0 votes
     answers
     views

    使用一系列依赖的future和non-future方法调用进行scala异常处理

    我有一个方法可能会返回 Future - 成功或失败,甚至可以抛出异常 . 我可以通过在整个方法上放置try catch块并一直返回Future来避免这种情况,但我现在想避免它 . 调用这样的方法我几乎没有问题: 1)在调用者代码中,如果我使用 map ,我期望执行一个方法并期望一个Future或异常,我试图按以下方式处理: object ETLCoordinator { p...
  • 1 votes
     answers
     views

    为什么我不能在asyncio事件循环中使用concurrent.futures?

    从asyncio文档中可以看出asyncio具有: “一个Future类,模仿concurrent.futures模块中的那个,但适用于事件循环;” 为什么标准库中需要有两个不同的Future类(在asyncio和并发中)?为什么有必要使它适应事件循环?我在这里缺少什么,或者是什么让他们这样决定?
  • 0 votes
     answers
     views

    错误:移动承诺时“尝试使用已删除的功能”

    我正在尝试写一个带有诺言/未来的例子 . 在this reference page中的示例中,他们这样做,并且它的在线编译器工作得很好 . 当我在我的Mac上执行它(源代码在下面)时,它会抛出这个错误,表明没有移动操作符 . 谁能告诉我有什么问题? 头文件: #ifndef Demonstration9_hpp #define Demonstration9_hpp #include <io...
  • 5 votes
     answers
     views

    如何调试Scala Future?

    如何调试Scala Future 中的代码? 我正在使用IntelliJ . 除了记录一切,我不知道如何 . 有关如何进行的任何建议? EDIT1: 这是我得到的错误: java.lang.IllegalAccessError:尝试访问字段org.iadb.poolpartyconnector.conceptsrecommendation.RelevantConceptsRecommendat...
  • 0 votes
     answers
     views

    如何在Flutter App Start之前显示CircularProgressIndicator?

    在我的演示应用程序中,我需要从服务器加载2 JSON文件 . 两个JSON都包含大量数据 . 我的Flutter应用程序我使用Future async调用json等待我调用使用runApp创建一个小部件 . 在体内我尝试激活一个CircularProgressIndicator . 它显示appBar及其内容以及空白页面正文,并在4或5秒后加载实际正文中的数据 . 我的问题是我需要首先显示Circ...
  • 0 votes
     answers
     views

    如何关闭ExecutorService Runnables的许多实例?

    我试图了解如何处理执行Runnable命令的ExecutorService的许多实例 . 关于提供的代码,如果我执行一百个Runnables并将固定线程池设置为1,则需要多少次关闭?我认为代码应该在for循环执行顺序中使用单个线程顺序执行一百个期货(从不产生多于一个线程),并且需要单个ExecutorService关闭 . 它是否正确?此外,在for循环完成后立即调用shutdown是可以的,因为...

热门问题