私は非同期的に値を取得してカプセル化し、私はウェブ上で最も既存の実装は、このような契約を持って気づいたジェネリックFuture<T>
クラス書いている:私の一般的なFutureの実装にはCompletedイベントが必要ですか?
public class Future<T>
{
public Future(Func<T> func); // kicks off the async operation
public T Value { get; } // gets the value and blocks if the async operation isn't done
}
これはすぐに私が完了を追加したくなりますイベントを実装に渡して、非同期の値を取得したいときに値をポーリングする必要がなく、完了した時点を知る必要があります。私はParallel Programmingライブラリが先物をこのように実装していることに気付きましたが、多くの実装でこのイベントが発生しない理由は不思議でした。何か不足していますか?先物に完了予定があるかどうか?それともあなたの文脈に依存するだけですか?
なぜあなた自身の「タスク」を書いていますか? –
svick
@svick .NET 2.0が必要なアプリケーションで作業しているので、タスクにアクセスすることはできません –