From 0f07bf588cd02d7b0ac4776d78d9c3fc7428e96c Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Wed, 12 Mar 2003 09:52:16 +0000 Subject: *** empty log message *** --- sources/examples/buffer1.scala | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 sources/examples/buffer1.scala (limited to 'sources/examples/buffer1.scala') 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 } +} -- cgit v1.2.3