object Executor extends App {
implicit val system = ActorSystem()
implicit val materializer = ActorMaterializer()
implicit val ec = system.dispatcher
import akka.stream.io._
val file = new File("res/AdviceAnimals.tsv")
import akka.stream.io.Implicits._
val foreach: Future[Long] = SynchronousFileSource(file)
.to( Sink.outputStream(()=>System.out))
.run()
foreach onComplete { v =>
println(s"the foreach is ${v.get}") // the will not be print
}
}
но ако променя Sink.outputStream(()=>System.out)
на Sink.ignore
, println(s"the foreach is ${v.get}")
ще се отпечата.
Може ли някой да обясни защо?
val vGet = v.get; println(s"the foreach is $vGet")
-- Какво се случва тогава? - person Bob Dalgleish   schedule 09.08.2015Sink.outputStream(()=>System.out)
са блокирали. но не знаех защо? - person daixfnwpu   schedule 10.08.2015onComplete
приема. - person Bob Dalgleish   schedule 10.08.2015