diff options
author | Jakob Odersky <jakob@odersky.com> | 2018-11-12 14:08:15 -0800 |
---|---|---|
committer | Jakob Odersky <jakob@odersky.com> | 2018-11-12 14:08:15 -0800 |
commit | 4b672ab5fc91b2b3c13e23f130f810b79ab7c928 (patch) | |
tree | d9fec4768fb91256a863dba607d29f82b6c8115a /example/src/main/scala/example/main.scala | |
download | escale-4b672ab5fc91b2b3c13e23f130f810b79ab7c928.tar.gz escale-4b672ab5fc91b2b3c13e23f130f810b79ab7c928.tar.bz2 escale-4b672ab5fc91b2b3c13e23f130f810b79ab7c928.zip |
Initial commit
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) + +} |