Hi,
ich habe wohl das Prinzip von Multithreading nicht ganz verstanden und wollte einmal hier nachfragen, wie das denn genau abläuft.
Und zwar habe ich aus verschiedenen Gründen in meinen Projekten auf die Thread-Safety achten müssen (zb. Arbeiten mit TBitmaps).
Habe auch die Synchronisation in der Thread-Klasse ganz gut hinbekommen, jetzt stoße ich aber auf Probleme, die ich nicht ganz zuordnen kann.
Und zwar starte ich mehrere Threads, die wiederum jeweils die gleiche Klasse instanzieren.
In dieser Klasse (abgeleitet von TObject und nicht TThread) werden Bitmaps erzeugt und verarbeitet.
Das klappt auch gut, ich bekomme jedoch sehr selten einen Fehler, wie "Bitmap ist ungültig". Leider kann ich die Fehler nicht reproduzieren, sondern sie treten anscheinend völlig zufällig auf und der Compiler zeigt mir auch keine genaue Fehlerstelle.
Durch Exception-Handling weiß ich jedoch, dass der Fehler in Prozessen auftritt, in denen mit diesen Bitmaps gearbeitet wird.
Da Bitmaps nicht threadsicher sind, wäre meine Frage jetzt, ob ich auch in Klassen die von Threads instanziert werden auf die Thread-Safety achten muss.
Vielen Dank,
lg