summaryrefslogtreecommitdiff
path: root/example/src/main/scala/example/main.scala
diff options
context:
space:
mode:
Diffstat (limited to 'example/src/main/scala/example/main.scala')
-rw-r--r--example/src/main/scala/example/main.scala30
1 files changed, 30 insertions, 0 deletions
diff --git a/example/src/main/scala/example/main.scala b/example/src/main/scala/example/main.scala
new file mode 100644
index 0000000..f6d0a48
--- /dev/null
+++ b/example/src/main/scala/example/main.scala
@@ -0,0 +1,30 @@
+package example
+
+import escale.Channel
+import scala.async.Async._
+import scala.concurrent.Await
+import scala.concurrent.ExecutionContext.Implicits.global
+import scala.concurrent.duration._
+
+object Main extends App {
+
+ val ch = Channel[Int](0)
+
+ val p1 = async {
+ await(ch.put(1))
+ await(ch.put(2))
+ await(ch.put(2))
+ await(ch.put(5))
+ }
+
+ val p2 = async {
+ await(ch.take())
+ await(ch.take())
+ await(ch.take())
+ await(ch.take())
+ }
+
+ val result = Await.result(p2, 3.seconds)
+ println(result)
+
+}