summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2004-01-19 15:52:05 +0000
committerpaltherr <paltherr@epfl.ch>2004-01-19 15:52:05 +0000
commit643a9f3e2ca7fa5f9634d1723a1f546e4df836cc (patch)
tree1e528fab38603a3c892e967b9949f98686b208da
parent5a98f27b778126bdf4dd3acb0e21454604dd637d (diff)
downloadscala-643a9f3e2ca7fa5f9634d1723a1f546e4df836cc.tar.gz
scala-643a9f3e2ca7fa5f9634d1723a1f546e4df836cc.tar.bz2
scala-643a9f3e2ca7fa5f9634d1723a1f546e4df836cc.zip
- Removed usage of Monitor
-rw-r--r--sources/examples/boundedbuffer.scala4
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;