diff options
author | paltherr <paltherr@epfl.ch> | 2004-01-19 15:52:05 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2004-01-19 15:52:05 +0000 |
commit | 643a9f3e2ca7fa5f9634d1723a1f546e4df836cc (patch) | |
tree | 1e528fab38603a3c892e967b9949f98686b208da /sources/examples/boundedbuffer.scala | |
parent | 5a98f27b778126bdf4dd3acb0e21454604dd637d (diff) | |
download | scala-643a9f3e2ca7fa5f9634d1723a1f546e4df836cc.tar.gz scala-643a9f3e2ca7fa5f9634d1723a1f546e4df836cc.tar.bz2 scala-643a9f3e2ca7fa5f9634d1723a1f546e4df836cc.zip |
- Removed usage of Monitor
Diffstat (limited to 'sources/examples/boundedbuffer.scala')
-rw-r--r-- | sources/examples/boundedbuffer.scala | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sources/examples/boundedbuffer.scala b/sources/examples/boundedbuffer.scala index fdc6feb9b4..06ecec9d9a 100644 --- a/sources/examples/boundedbuffer.scala +++ b/sources/examples/boundedbuffer.scala @@ -4,10 +4,12 @@ object boundedbuffer { import concurrent.ops._; - class BoundedBuffer[a](N: Int) extends Monitor() { + class BoundedBuffer[a](N: Int) { var in = 0, out = 0, n = 0; val elems = new Array[a](N); + def await(def cond: Boolean) = while (!cond) { wait() } + def put(x: a) = synchronized { await (n < N); elems(in) = x; in = (in + 1) % N; n = n + 1; |