//Beispielprogramm 5 fuer das Informatikseminar im WS 09/10 der fhwedel //Scala: Nebenlaeufigkeit und paralleles Rechnen //Hilfsfunktion zum Blocken eines Actors nutzen //von Henning Reimer import scala.actors.Actor._ import scala.actors.Actor case class wachAuf() object bsp5 { def main(args : Array[String]) { val blockBspAct = actor { def blocken(msec : Int) { val ref = self actor { Thread.sleep(msec) ref ! wachAuf() } } var cnt = 0 loop { react { case msg : wachAuf => println(cnt + " Sekunden sind vergangen") cnt += 1 if (cnt < 5) blocken(1000) else exit() case msg => println("Zwischenmeldung: "+ msg) } } } blockBspAct ! wachAuf() actor { Thread.sleep(2500) blockBspAct ! "Nachricht von Hilfsactor nach 2,5 Sekunden" } } }