summaryrefslogtreecommitdiff
path: root/docs/examples/actors/channels.scala
diff options
context:
space:
mode:
Diffstat (limited to 'docs/examples/actors/channels.scala')
-rw-r--r--docs/examples/actors/channels.scala26
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
+ }
+ }
+}