草庐IT

future_fib

全部标签

java - java.util.concurrent.Future 的 scala.concurrent.Future 包装器

我将PlayFramework2.1.1与一个生成java.util.concurrent.Future结果的外部java库一起使用。我使用的是scalafuture而不是Akka,我认为从Play2.1开始这是正确的做法。如何将java.util.concurrent.Future包装到scala.concurrent.Future中,同时保持代码非阻塞?defgeConnection():Connection={//blockingwithgetconnectionPool.getConnectionAsync().get(30000,TimeUnit.MILLISECONDS)}

java - Future.get() 在什么情况下会抛出 ExecutionException 或 InterruptedException

我的代码片段:ExecutorServiceexecutor=Executors.newSingleThreadExecutor();try{Taskt=newTask(response,inputToPass,pTypes,unit.getInstance(),methodName,unit.getUnitKey());Futurefut=executor.submit(t);response=fut.get(unit.getTimeOut(),TimeUnit.MILLISECONDS);}catch(TimeoutExceptione){//ifthetaskisstillrun

MongoDB Scala 驱动程序 : what is a best way to return Future when working with Observer callbacks?

我正在使用Scala驱动程序写一篇关于PlayFramework和MongoDB的简单博客。所以它有效,我很高兴,但觉得我的代码不够好。你们能否回顾一下我的mongo服务方法之一的以下代码段,并告诉我是否有办法让它更干净:deffindByTitle(title:String)(implicitec:ExecutionContext):Future[Option[Document]]={valcollection=db.getCollection("items")valresults=collection.find(equal("title",title))valcontentProm

MongoDB Scala 驱动程序 : what is a best way to return Future when working with Observer callbacks?

我正在使用Scala驱动程序写一篇关于PlayFramework和MongoDB的简单博客。所以它有效,我很高兴,但觉得我的代码不够好。你们能否回顾一下我的mongo服务方法之一的以下代码段,并告诉我是否有办法让它更干净:deffindByTitle(title:String)(implicitec:ExecutionContext):Future[Option[Document]]={valcollection=db.getCollection("items")valresults=collection.find(equal("title",title))valcontentProm

java - Scala, future 的 Java(?)

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭10年前.我试图弄清楚scala的受欢迎程度以及有多少SO用户在工作场所实际使用它?这里有somescalalinks 最佳答案 我已经在工作(金融技术)中使用Scala一年了,根本不想回到Java!最初考虑迁移时,我最关心的事情是:工具支持(IDE是什么样的?)与现有Java库和构建技术互操作(ant、S

java - 抑制 javac 警告 "...is internal proprietary API and may be removed in a future release"

当我使用JDK1.7.0在OSX上编译SpringJDBC源代码时,我收到以下警告:warning:CachedRowSetImplisinternalproprietaryAPIandmayberemovedinafuturerelease如何在编译期间隐藏警告消息?我已经知道并使用Java的@SuppressWarning注释。我正在寻找它的具体用途来抑制我所描述的警告。我的问题是,在这行代码中:@SuppressWarnings("valuegoeshere")“valuegoeshere”应该换成什么?编辑:人们,我知道最好避免导致警告的代码。通常这就是我的方法。但是,我在这里

java - future 超时是否会终止线程执行

当使用ExecutorService和Future对象时(提交Runnable任务时),如果我为future的get函数指定超时值,抛出TimeoutException时,底层线程是否会被杀死? 最佳答案 它没有。为什么会呢?除非你告诉它。例如,在Callable的情况下,这里有一个非常有效的问题。如果你等了20秒后没有得到结果,那么你就不再对结果感兴趣了。到时候你应该完全取消任务。类似这样的:Futurefuture=service.submit(newMyCallable());try{future.get(100,TimeUn

java - 对 Future.get() block 的方法调用。这真的很可取吗?

在将其标记为重复之前,请仔细阅读问题。下面是伪代码的片段。我的问题是-下面的代码是否不会破坏并行异步处理的概念?我问这个的原因是因为在下面的代码中,主线程将提交一个任务以在不同的线程中执行。在队列中提交任务后,它会阻塞Future.get()方法让任务返回值。我宁愿让任务在主线程中执行,而不是提交到不同的线程并等待结果。通过在新线程中执行任务我得到了什么?我知道您可以等待有限的时间等,但是如果我真的关心结果怎么办?如果要执行多个任务,问题会变得更糟。在我看来,我们只是在同步进行工作。我知道提供非阻塞监听器接口(interface)的Guava库。但我很想知道我对Future.get()

java - 如何在java中创建一个完整的 future

在Java中构建完整的future的最佳方式是什么?我在下面实现了自己的CompletedFuture,但希望这样的东西已经存在。publicclassCompletedFutureimplementsFuture{privatefinalTresult;publicCompletedFuture(finalTresult){this.result=result;}@Overridepublicbooleancancel(finalbooleanb){returnfalse;}@OverridepublicbooleanisCancelled(){returnfalse;}@Overr

java - 将 Java Future 转换为 CompletableFuture

Java8引入了CompletableFuture,这是一个可组合的Future的新实现(包括一堆thenXxx方法)。我想专门使用它,但我想使用的许多库只返回不可组合的Future实例。有没有办法将返回的Future实例包装在CompleteableFuture中,以便我编写它? 最佳答案 如果您要使用的库除了Future样式之外还提供回调样式方法,您可以为其提供一个处理程序,该处理程序在没有任何额外线程阻塞的情况下完成CompletableFuture。像这样:AsynchronousFileChannelopen=Asynch