System.Threading.IFuture
Delphi
IFuture<T> = interface(ITask)
C++
template<typename T> __interface IFuture__1 : public ITask
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
interface class |
public | System.Threading.pas System.Threading.hpp |
System.Threading | System.Threading |
説明
IFuture は、ITask を実装して、必要に応じて具体的な型を返す関数を並列スレッドで実行できるようにしたものです。その型は、ジェネリック型パラメータ T
で指定されます。詳細については、「ジェネリックス」を参照してください。
IFuture<T> は、Start メソッドの呼び出し後に並列スレッドで起動する関数を指定される TTask.Future<T> の戻り値型です。
IFuture<T> インスタンスから呼び出された関数の戻り値には、Value プロパティでアクセスできます。これは、戻り値が得られる場合は直ちに実行され、そうでない場合は、並列スレッドで実行される関数が完了するのを待ちます。
IFuture<T> のインスタンスを使用して、プロセスの実行を開始したあと、任意の時点で結果を用意することができます。これにより、希望する順に実行されるようにコード ブロックに優先順位を付けつつも、必要になった時点で必ず値を取得できるようにすることができます。