web-dev-qa-db-ja.com

CancellationTokenとCancellationChangeToken

CancellationTokenCancellationChangeTokenの違いは何ですか?どちらを使用するのですか?

同じ目的で使用できるようです。何が欠けていますか?

4

CancellationTokenreadonly struct(これはパフォーマンス上の理由によると想定)として設計されているため、拡張(継承)できません。したがって、キャンセルトークンの抽象化を使用する場合は、CancellationTokenstructを使用できません。このためには、IChangeTokenを使用する必要があります。

したがって、ここにclassCancellationChangeTokenが到着します。 classstructとしてCancellationToken)およびIChangeTokeninterface;を実装します。 CancellationTokenstruct(実際のキャンセルトークン)をラップします

したがって、キャンセルトークンの抽象化を使用する場合は、IChangeTokenとその実装ej:CancellationChangeTokenを使用する必要があります。

CancellationTokenまたはCancellationChangeTokenを使用する場合

変更通知だけに関心がある場合は、CancellationTokenを使用できます。ただし、キャンセルトークンを抽象化として使用する場合は、IChangeTokenとその実装(CancellationChangeTokenなど)を使用する必要があります。

0