import scala.actors.Future
import scala.actors.Futures._
object App {
def main(args: Array[String]) = {
var results = List[Future[Int]]()
for (i <- 1 to 10) {
println("Sending " + i + "...")
val f = future {
println("Processing " + i + "...")
Thread.sleep(500)
println("Processed " + i)
i
}
println("Sent " + i)
results = results ::: List(f)
}
results.foreach(future =>
println("result: " + future()))
}
}
Hal yang perlu dicatat dari kode program di atas adalah:- foreach pada baris terakhir bersifat blocking. Apabila pada suatu waktu T, dia telah memiliki nilai 1, 2, 3, 5, dan 7; dia akan memprint 1, 2, 3 lalu menunggu 4 selesai diproses, barulah dia lanjut ke 5
- TBD
Kode program yang mendelegasikan proses lalu mengharapkan (nilai) kembalian membutuhkan sistem Future dan Promise.