Zuletzt aktualisiert am
1. Mai 2021
|
Gilt auch für Communiqué, Communiqué 3, Communiqué 4
Brechen Sie ausstehende Anforderungen nur als letzten Ausweg ab, bevor Sie die Communiqué-Instanz anhalten. Das Abbrechen einer Anforderung kann zu einer instabilen Instanz führen. Das Anhalten eines Threads bewirkt, dass alle Monitore, die durch den Thread gesperrt wurden, entsperrt werden. (Die Monitore sind entsperrt, da die ThreadDeath-Ausnahme sich über den Stapel aufwärts ausbreitet.) Wenn irgendwelche der von diesen Monitoren geschützten Objekte einen inkonsistenten Status hatten, könnten nun andere Threads diese Objekte in einem inkonsistenten Zustand anzeigen. Solche Objekte werden als beschädigt bezeichnet. Wenn Threads auf beschädigte Objekte angewendet werden, kann sich willkürliches Verhalten ergeben.
Dieses Verhalten kann subtil und schwer zu erkennen sein oder auch deutlich hervortreten. Im Gegensatz zu anderen deaktivierten Ausnahmen beendet ThreadDeath die Threads automatisch. Deshalb erhält der Benutzer keine Warnung, dass das Programm beschädigt ist. Die Beschädigung kann jederzeit nach der eigentlichen Beschädigung, auch nach Stunden oder Tagen, sichtbar werden.