- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Scala 中那些与 Future 相关的类和特征之间有什么联系,为什么它们散布在不同的包中?
我找到了那些:
abstract class scala.actors.Future
object scala.actors.Futures
trait/object scala.collection.parallel.FutureThreadPoolTasks
trait scala.concurrent.FutureTaskRunner
trait scala.parallel.Future (the package consists of only this file...)
最佳答案
scala.actors._
abstract class Future
首先,让我们看看文档是怎么说的:
A function of arity 0, returing a value of type T that, when applied, blocks the current actor (Actor.self) until the future's value is available.
sender
引用)并且您需要对已发送消息的回复,您有两种选择:
A future can be queried to find out whether its value is already available without blocking [using "isSet"].
Future
本身是一个
abstract class
,由
private class FutureActor
扩展.最后一个类是实际实现
Future
的类。 - 功能。
object Futures
object Futures
到目前为止还没有那么有趣,因为它只是“操作 future 的方法”的容器,方便的工厂方法
future
它异步评估传递的块,返回表示结果的 future 。一个小例子是这样的:
import scala.actors.Futures
val f = Futures.future {
println("Start: inside block")
val s = System.currentTimeMillis
while(System.currentTimeMillis < (s + 1000)) {
// Simulate computation
}
println("Start: end of block")
42
}
println("After future")
println(f())
println("The end")
Start: inside block
After future
Start: end of block
42
The end
future
-call 不会阻塞以下代码,直到您实际尝试检索 future 的值(请注意,输出是
non-deterministic 。
After future
也可能出现在输出的开头)。
scala.collection.parallel
Par
开头的:
(1 to 10).par.map { b => print(b + " "); b * b }
3 1 6 2 7 4 5 9 10 8
# => (1, 4, 9, 16, 25, 36, 49, 64, 81, 100)
trait FutureThreadPoolTasks
FutureThreadPoolTasks
trait 扩展了
Tasks
trait,所以让我们先来看看那个。特质上面的评论说:
A trait that declares task execution capabilities used by parallel collections.
Tasks
中找到的方法来看trait,一个 Task 代表一个需要计算的工作单元。根据问题是否可以进一步分割,如果有更多可用资源,任务可以通过创建更多任务来进一步拆分任务。
FutureThreadPoolTasks
trait 本身只是一种计算任务的方法,它使用
java.util.concurrent.Future
类为其同步,即它
不使用
scala.actors.Future
!从来源:
An implementation of tasks objects based on the Java thread pooling API and synchronization using futures.
object FutureThreadPoolTasks
FutureThreadPoolTasks
特质使用。
scala.concurrent
scala.parallel
trait Future
scala.parallel
包仅包含此特征。据我所知,这将与
Future
有关。不使用的实现
Actors
,但这只是一个猜测。特征的签名如下
trait Future[@specialized +R] extends (() => R)
apply
和
isDone
.我的猜测是
isDone
,就像
scala.actors.Future.isSet
, 应该是一个非阻塞调用,以查看是否已经计算了该值,而
apply
方法应该用于实际检索值。
关于scala - Scala 中多个 Futures 的奇怪案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6229468/
这个问题在这里已经有了答案: Oracle: merging two different queries into one, LIKE & IN (1 个回答) 8年前关闭。 我有以下代码: case
我查阅过此页面:http://dev.mysql.com/doc/refman/5.1/en/case.html以及这个,但无法获得一个简单的程序来工作...... 更新:为了明确我想要做什么:我想从
有什么办法可以优化下面的查询吗? SELECT DATE_FORMAT(a.duedate,'%d-%b-%y') AS dte, duedate, SUM(CASE WHEN (typeofnoti
我进退两难,以下 SQL 查询的结果是什么以及它是如何工作的: SELECT ... CASE WHEN (a.FIELD=1 AND b.FIELD=2) THEN 1 WHEN
问题:输入年,月,打印对应年月的日历。 示例: 问题分析: 1,首先1970年是Unix系统诞生的时间,1970年成为Unix的元年,1970年1月1号是星期四,现在大多的手机的日历功能只能显
**摘要:**介绍了Angular中依赖注入是如何查找依赖,如何配置提供商,如何用限定和过滤作用的装饰器拿到想要的实例,进一步通过N个案例分析如何结合依赖注入的知识点来解决开发编程中会遇到的问题。 本
我想拥有自动伴侣类apply case 类的构造函数来为我执行隐式转换,但无法弄清楚如何这样做。我到处搜索,我能找到的最接近的答案是 this问题(我将解释为什么它不是我在下面寻找的)。 我有一个看起
您好,我已经浏览了“多列案例”问题,但没有看到与此相同的内容,所以我想我应该问一下。 基本上我有两个我想要连接的表(都是子查询的结果)。它们具有相同的列名称。如果我加入他们的 ID 和 SELECT
我发现了一些类型推断的非直觉行为。因此,语义等效代码的工作方式不同,具体取决于编译器推断出的有关函数返回类型的信息。当您在最小单元测试中重现此案例时,或多或少会清楚发生了什么。但我担心在编写框架代码时
CREATE TABLE test ( sts_id int , [status1] int , [status2] int , [status3] int , [status4] int ) INS
我有以下声明: SELECT Dag AS Dag, CASE Jaar WHEN 2013 THEN Levering END AS '2013', CASE
我想做的是为所有高于平均时间、平均时间和低于平均时间的游乐设施获取平均tip_portion。所以返回3行。当我运行它时,它显示: ERROR: missing FROM-clause entry
我正在尝试设置一个包含以下字段的报告: 非常需要报告来显示日期、该日期内的总记录(因此我按日期分组),然后按小时计算 12 小时工作日(从上午 8 点到晚上 8 点)我需要计算记录在这些时间内出现的时
我有这个查询 SELECT users.name FROM users LEFT JOIN weapon_stats ON users.id = weapon_stats.zp_id WHERE we
我正在尝试按收视率等级获取不同视频的计数。我有下表: vid_id views 1 6 1 10 1 900 2 850 2 125000
假设我有一个如下所示的 SQL 语句: select supplier, case when platform in (5,6) then 'mobile' when p
我有一个表测试 TestNumber (int primary key) InactiveBitwise (int) 我执行以下命令: UPDATE tests SET CASE WH
我有一个像这样的表(name=expense): id amount date 1 -1687 2014-01-02 00:00:00.0 2 11000 2014-01-02 0
我有一个 multimap 定义 typedef std::pair au_pair; //vertices typedef std::pair acq_pair; //ch qlty specifi
我有一个有点像枚举的类,它的每个实例都有一个唯一的 int 值,该值从 0 开始并在每个新实例时递增。 class MyEnumLikeClass { static int NextId =
我是一名优秀的程序员,十分优秀!