diff options
author | Martin Odersky <odersky@gmail.com> | 2003-03-12 09:52:16 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2003-03-12 09:52:16 +0000 |
commit | 0f07bf588cd02d7b0ac4776d78d9c3fc7428e96c (patch) | |
tree | 3e97518ea344b50802339ab2002ca20583f0cb00 /sources/examples/buffer1.scala | |
parent | 86beea21be94408044884415bbafcad5e0574c66 (diff) | |
download | scala-0f07bf588cd02d7b0ac4776d78d9c3fc7428e96c.tar.gz scala-0f07bf588cd02d7b0ac4776d78d9c3fc7428e96c.tar.bz2 scala-0f07bf588cd02d7b0ac4776d78d9c3fc7428e96c.zip |
*** empty log message ***
Diffstat (limited to 'sources/examples/buffer1.scala')
-rw-r--r-- | sources/examples/buffer1.scala | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sources/examples/buffer1.scala b/sources/examples/buffer1.scala new file mode 100644 index 0000000000..40be8431be --- /dev/null +++ b/sources/examples/buffer1.scala @@ -0,0 +1,16 @@ +package examples; + +import scala.concurrent._; + +class OnePlaceBuffer() { + private val m = new MailBox(); // An internal mailbox + private case class Empty(), Full(x: Int); // Types of messages we deal with + + m send Empty(); // Initialization + + def write(x: Int): Unit = + m receive { case Empty() => m send Full(x) } + + def read: Int = + m receive { case Full(x) => m send Empty() ; x } +} |