Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

AW: TBitmap ist NICHT threadsave

  Alt 14. Jun 2016, 20:10
Es gibt einen Unterschied zwischen threadsafe und threadaffin. Die meisten Klassen sind nicht threadsafe aber - gottlob - auch nicht threadaffin.
  • threadsafe
    Von jedem Thread kann auf die Eigenschaften der Klasse zugegriffen werden.
  • threadaffin
    Auf die Eigenschaften der Klasse darf nur im Erzeuger-Thread zugegriffen werden
  • ganz blöd
    Die Klasse ist noch mit einem globalen (oder wie auch immer aufgehängtem) Kontext verwoben, der auch noch threadaffin ist (idR. mit dem MainThread)

TBitmap gehört eindeutig zur Kategorie ganz blöd.

Wenn jemand so etwas in einem Thread verwendet und keine Probleme damit hat, dann jeden Abend das in das Nachtgebet mit einschliessen und weiter hoffen. Es ist keine zugesicherte Eigenschaft und läuft wohl eher durch Zufall (oder man hat sich irgendwo durch die Hintertür eine Synchronisation eingefangen). Anyway, empfehlen würde ich es nicht und darauf bauen erst recht nicht.

Aber eine Hummel kann eigentlich auch nicht fliegen und tut es trotzdem, weil ihr die Physik und Aerodynamik fremd und sowas von egal sind.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat