Ein Abbruchsignal von tatsächlich beendeter Arbeit unterscheiden.
Kooperative Cancellation beendet eine Arbeit nicht magisch. Der Besitzer signalisiert einen Abbruchwunsch; die Arbeit muss ihn an geeigneten Stellen beachten. Ein Token beschreibt dieses Signal, während die Task das tatsächliche Ende der Arbeit repräsentiert. Ein geordneter Stopp verbindet beides: keine neue Arbeit mehr annehmen, laufende Arbeit zum Beenden auffordern und ihr Ende innerhalb eines Budgets beobachten. Ein abgelaufenes Wartebudget beweist nicht, dass jede Ressource bereits freigegeben wurde. Berichte einen solchen Ausgang ausdrücklich.
Ein Beispiel
Eine Schleife bearbeitet fünf erfundene Einträge. Nach dem zweiten Eintrag wird stop=True. Vor dem dritten prüft sie das Signal und beendet sich. Erst danach ist ihre Task abgeschlossen. Ein bloßes Setzen der Variable ohne Prüfung in der Schleife hätte keine Wirkung auf die weiteren Einträge.