diff options
Diffstat (limited to 'docs/examples/actors/channels.scala')
-rw-r--r-- | docs/examples/actors/channels.scala | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/docs/examples/actors/channels.scala b/docs/examples/actors/channels.scala new file mode 100644 index 0000000000..498fb9602c --- /dev/null +++ b/docs/examples/actors/channels.scala @@ -0,0 +1,26 @@ +package examples.actors + +import scala.actors._ +import scala.actors.Actor._ + +object channels extends Application { + case class Msg(ch1: Channel[int], ch2: Channel[String]) + + val a = actor { + val Ch1 = new Channel[int] + val Ch2 = new Channel[String] + + b ! Msg(Ch1, Ch2) + + react { + case Ch1 ! x => Console.println("received on int channel: "+x) + case Ch2 ! y => Console.println("received on String channel: "+y) + } + } + + val b = actor { + react { + case Msg(ch1, ch2) => ch1 ! 42 + } + } +} |