From 4b672ab5fc91b2b3c13e23f130f810b79ab7c928 Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Mon, 12 Nov 2018 14:08:15 -0800 Subject: Initial commit --- example/src/main/scala/example/main.scala | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 example/src/main/scala/example/main.scala (limited to 'example/src/main/scala/example/main.scala') 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) + +} -- cgit v1.2.3