スコープを使い果たし、タスクが完了する前にガベージコレクタがそれを取り除くことを決定したら、ローカルのタスク参照はどうなりますか?この例では廃棄されたタスクはどうなりますか?
/// <summary>
/// Web service operation to start a large batch asynchronously
/// </summary>
public StartBatchResponseMessage StartBatch(StartBatchRequestMessage request)
{
Task t = Task.Factory.StartNew(DoWork);
return new StartBatchResponseMessage();
}
private void DoWork()
{
// Implement solving world hunger here.
}
ウィルDoWork常に完全な:それはサービスコールの実装のこの種を作るためにも安全かどう
は基本的に私は聞いていますのよ?ガベージコレクタがTaskインスタンス変数を破棄することを決定したとしても、もしそうでなければ、この種の機能をより安全に実装する方法は何ですか?
「ディスポジション」という言葉の使い方には注意してください。 'IDisposable'パターンと混同しないでください。 – Gusdor