Supongo que tengo un Stream
que es bastante caro de calcular. Puedo crear fácilmente un hilo que "computa por delante" sólo escribir algo así como¿Qué sucede cuando un Scala "Future" es basura recolectada?
import scala.actors.Futures._
val s = future { stream.size }
Si luego tirar la referencia a este Future
, será ese hilo se mató por el recolector de basura?
No. El recolector de basura nunca mata los hilos. El cálculo puede tener efectos secundarios que el recolector de basura no puede conocer, en otras palabras, el hilo puede estar haciendo algo importante que el recolector de basura no puede saber, por lo que nunca puede detener el hilo de forma segura. – Jesper