@@ -234,8 +234,7 @@ Future 内の値が利用可能となることを必要とするため、Future
234
234
235
235
<li ><code >onSuccess</code > や <code >onFailure</code > コールバックを登録することは <code >onComplete</code > と同じ意味論を持つ。ただし、クロージャがそれぞれ成功したか失敗した場合のみに呼ばれるという違いがある。</li >
236
236
237
- <li >既に完了した Future にコールバックを登録することは (1 により) コールバックが eventually に実行されることとなる。
238
- さらに、このコールバックはそれを登録したスレッドの進行をキャンセルしなければ、同じスレッドで同期的に実行される可能性がある。</li >
237
+ <li >既に完了した Future にコールバックを登録することは (1 により) コールバックが eventually に実行されることとなる。</li >
239
238
240
239
<li >Future に複数のコールバックが登録された場合は、それらが実行される順序は定義されない。それどころか、コールバックは並行に実行される可能性がある。しかし、<code >ExecutionContext</code > の実装によっては明確に定義された順序となる可能性もある。</li >
241
240
@@ -551,6 +550,8 @@ Future が失敗した場合は、呼び出し元には Future が失敗した
551
550
これらの例外は非同期計算を実行するスレッド内で再び投げられる。
552
551
この理由は、通常クライアント側で処理されないクリティカルもしくは制御フロー関連の例外が伝搬することを回避し、同時に Future の計算が失敗したことをクライアントに通知するためだ。
553
552
553
+ より正確な意味論の説明は [ ` NonFatal ` ] ( http://www.scala-lang.org/api/current/index.html#scala.util.control.NonFatal$ ) を参照。
554
+
554
555
## Promise
555
556
556
557
これまでの所、` future ` メソッドを用いた非同期計算により作成される ` Future ` オブジェクトのみをみてきた。
@@ -706,7 +707,7 @@ for library writers
706
707
2 . 時間の比較 (` < ` 、` <= ` 、` > ` 、および ` >= ` )。
707
708
3 . 算術演算 (` + ` 、` - ` 、` * ` 、` / ` 、および ` unary_- ` )。
708
709
4 . この時間 ` this ` と引数として渡された時間の間の最小値と最大値 (` min ` 、` max ` )。
709
- 5 . 時間が有限かの検査 (` finite_? ` )。
710
+ 5 . 時間が有限かの検査 (` isFinite ` )。
710
711
711
712
` Duration ` は以下の方法で作成することができる:
712
713
@@ -716,7 +717,6 @@ for library writers
716
717
717
718
` Duration ` は ` unapply ` メソッドも提供するため、パータンマッチング構文の中から使うこともできる。以下に具体例をみる:
718
719
719
- import scala.concurrent.Duration
720
720
import scala.concurrent.duration._
721
721
import java.util.concurrent.TimeUnit._
722
722
0 commit comments