Новый CancellationToken() и IsCancellationRequested без источника CancellationTokenSource

0

Вопрос

Если я создам экземпляр CancellationToken, есть ли способ каким-либо образом изменить свойство IsCancellationRequested или для этого мне всегда нужен экземпляр CancellationTokenSource и его метод отмены? Другими словами, для правильной отмены задач имеет ли смысл использовать новый CancellationToken () или мы всегда должны использовать CancellationTokenSource.Жетон?

И если мне всегда нужно использовать CancellationTokenSource.Токен, тогда в каких ситуациях мне может потребоваться создать экземпляр CancellationToken отдельно? Зачем мне нужно делать новую отмену ()? Когда я могу просто сделать CancellationToken = CancellationTokenSource.Знак.

1

Лучший ответ

0

new CancellationToken() - или эквивалентно CancellationToken.None создает токен отмены, который никогда не будет отменен.

Это полезно, когда вы вызываете метод, ожидающий отмены, но ваш код никогда не намеревается отменять задачу.

2021-11-24 04:14:27

Спасибо! Другими словами, значение свойства IsCancellationRequested не может быть изменено в новой функции CancellationToken (). И новый CancellationToken () можно использовать там, где необходимо передать CancellationToken, но не предполагается, что мы вообще планируем отменить нашу операцию. Правильно ли я понял?
Klaus Gütter

Действительно, IsCancellationRequested-это свойство только для получения. Если вы хотите, вы можете взглянуть на исходный код

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................