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.
No comments:
Post a Comment