タグ

ブックマーク / qiita.com/reki2000 (2)

  • 言語によってちょっと違うFuture/Promiseをまとめてみた(1) - Qiita

    はじめに 最近非同期プログラミングに触れる機会が増えてきていますが、言語ごとに使い方が少しずつ異なるので、よく使うJavaJavaScript(ECMAScript6)、Scala についてまとめてみました。 まとめる前の時点ではこんな程度の理解でした。 Future は get するとブロックするやつだよね! Promise は コールバック登録するやつで Future とセットで使うんだよね! スレッドに責任持っているクラスとの連携が必要なはずだけどググらないとわからないや…… エラー処理とかどうするんだろう? Java 1.5 以降の場合 1.5 以降、java.util.concurrent 配下に、非同期実行に関連するインターフェースが定義されています。 Future<V> get で結果Vが返ってくるまで待つ cancel で キャンセル。isCanceled、isDone

    言語によってちょっと違うFuture/Promiseをまとめてみた(1) - Qiita
  • 言語によってちょっと違うFuture/Promiseをまとめてみた(3) - Qiita

    続き 前回 のJavaScirpt に続いて今回は Scala です。 以下を見ながらまとめました。 Scala 2.10.0 Futures and Promises - 1 - Starlight Scala 2.10.0 Futures and Promises - 2 - Starlight Scala の Future scala.concurrent.Future から見ていきます。 概要 Futureの生成(処理内容の登録)は Future コンパニオンオブジェクトの apply に処理を渡せばよい。 コードの見た目は Future { ... } になる。 小文字始まりの future { ... } はなくなる予定らしい Future を生成するとすぐに、implicit な ExecutionContext によってスレッドが生成され、実行開始される。もちろん自分で E

    言語によってちょっと違うFuture/Promiseをまとめてみた(3) - Qiita
    kma83
    kma83 2017/03/21
  • 1