CancellationToken используется для поддержки «отмены операции». это более общая концепция, чем экземпляр объекта с логическим полем, означающим «активный / отключенный». Он поддерживает параллелизм, повторное использование объектов и другие интересные сценарии.
Таким образом, это операции Add () и Take (), и каждая из них может быть длительной из-за того, что коллекция пуста или заполнена. Если вызывающая сторона хочет отменить длительный вызов метода, тогда они передают токен и при необходимости сообщают об этом.