diff options
Diffstat (limited to 'example/src/main/scala/example/main.scala')
-rw-r--r-- | example/src/main/scala/example/main.scala | 30 |
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) + +} |