CancellationToken wird verwendet, um "Operation Cancellation" zu unterstützen. Dies ist ein allgemeineres Konzept als eine Objektinstanz mit einem booleschen Feld, das "aktiv/deaktiviert" bedeutet. Es unterstützt Nebenläufigkeit, Wiederverwendung von Objekten und andere interessante Szenarien.
Also sind die Operationen Add() und Take() und jeder von ihnen kann lange dauern, weil die Sammlung leer oder voll ist. Wenn der Aufrufer die Option zum Abbrechen eines lang andauernden Methodenaufrufs wünscht, übergibt er ein Token und signalisiert es bei Bedarf.
danke für deine schnelle antwort! Es gibt ein Token für add, da Sie eine Kapazität für die Sammlung angeben können. Das Hinzufügen zu einer vollständigen Sammlung wird blockiert (dies kann mit dem Token rückgängig gemacht werden). Ich nahm an, dass ein BlockingCollection-Konstruktor ein Token verwendet, das für alle Add- und Take-Operationen verwendet wird. Ich stelle diese Frage, weil ich befürchte, dass ich bei der Handhabung des Löschungs-Tokens etwas missverstehen könnte. – thumbmunkeys
Es wird durch das Nutzungsmuster gesteuert. Die Verwendung von 1 Token für Add und Take wäre nur in einigen Situationen nützlich. –
ok, danke Henk! – thumbmunkeys