外部リソースを定期的にポーリングする必要があるコードがあります。単純化すると、次のようになります。
CancellationTokenSource cancellationSource = new CancellationTokenSource();
Task t = Task.Factory.StartNew(() =>
{
while (!cancellationSource.IsCancellationRequested)
{
Console.WriteLine("Fairly complex polling logic here.");
// Finishes sleeping before checking for cancellation request
Thread.Sleep(10000);
}
},
cancellationSource.Token);
cancelSource.Cancel() が呼び出された場合に中断されるように、10 秒の遅延をコーディングするにはどうすればよいですか?