【发布时间】:2011-03-14 15:43:26
【问题描述】:
假设我有一个Stream,计算起来相当昂贵。我可以通过编写类似的东西轻松创建一个“提前计算”的线程
import scala.actors.Futures._
val s = future { stream.size }
如果我随后丢弃对该Future 的引用,该线程会被垃圾收集器杀死吗?
【问题讨论】:
-
没有。垃圾收集器永远不会杀死线程。计算可能会产生垃圾收集器不知道的副作用,换句话说,线程可能正在做一些垃圾收集器不知道的重要事情——因此它永远无法安全地停止线程。
标签: scala garbage-collection future