Die Funktion my_Thread ist eine statische Memberfunktion, innerhalb
derer kein this-Pointer bekannt ist. Um nichtstatische Memberfunktionen
aufrufen zu können oder um auf Membervariablen der Objektinstanz
zugreifen zu können, ist dieser this-Pointer aber zwingend erforderlich.
Also wird der CreateThread/_beginthread als opaker Parameter übergeben
und landet als nach wie vor opaker Parameter in my_Thread.
Thread* pthis = (Thread *) para;
erzeugt daraus einen pseudo-this-Pointer "pthis", der Dereferenzierungen
zulässt. (Das ist ein C-Typecast, C++-Freunde werden da sicherlich
aufheulen.)
Damit die Threadfunktion virtuell überladen werden kann (wozu man das
auch immer hier benötigen möge), wird aus der statischen über den
pseudo-this-Pointer "pthis" ebenjene virtuell überladbare aufgerufen:
pthis->ThreadFunction(pthis->callback);
Wozu die Membervariable "callback" dient, wirst Du der Implementierung
entnehmen müssen.
Haben wir dieses Thema nicht bereits vor ein paar Tagen breitgetreten?