summaryrefslogtreecommitdiff
path: root/src/dotnet-library/scala/concurrent/Lock.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/dotnet-library/scala/concurrent/Lock.scala')
-rw-r--r--src/dotnet-library/scala/concurrent/Lock.scala31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/dotnet-library/scala/concurrent/Lock.scala b/src/dotnet-library/scala/concurrent/Lock.scala
new file mode 100644
index 0000000000..d20f3806d7
--- /dev/null
+++ b/src/dotnet-library/scala/concurrent/Lock.scala
@@ -0,0 +1,31 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2003-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+
+package scala.concurrent
+
+/** This class ...
+ *
+ * @author Martin Odersky
+ * @version 1.0, 10/03/2003
+ */
+class Lock {
+ var available = true
+
+ def acquire = synchronized {
+ while (!available) wait()
+ available = false
+ }
+
+ def release = synchronized {
+ available = true
+ notify()
+ }
+}