WinAPI Thread je Instanz einer Klasse...
-
Hallo Ich würde gern eine MyThread Klasse implementieren, welche je Instanz die WinAPI32 CreateThread Methode verwendet.
Ich verwende (und kann nur) die C++03 STL verwenden, und kann somit nich die stl:thread verwenden.
Problem ich kann ja keine klass member methode als thread-functor verwenden... oder doch?Grund für das ganze , ich habe mehrer COM ports welche ich bei einem ReceiveEvent wartet jeweile in einem thread laufen lassen...
was meint ihr? gibts ne alternative (ohne nen höhere stl zu verwenden)?
-
-
Wo ist das Problem? CreateThread kannst du einen belibigen Parameter übergeben, z.B. einen Zeiger auf deine Klasseninstanz.
-
genau. Übergib doch einfach dein Klassenobjekt an den Thread.
Bzw. einen nach (void*) gecasteten Pointer auf dein Objekt. Und im Thread castest du dir das wieder zurück und gut ist.
-
hmm... gute idee. . vor lauter bäumen den wald nich sehen
dachte da sich der functor für create thread sich um eine statische klassen methode handelt, jeder thread dann die gleichen functor verwendet...
-
Gerade wenn man noch auf C++03 festhängt ist Boost eine feine Sache. Damit kannst du viel was erst mit C++11 in den Standard gekommen ist ihn ähnlicher, oft fast identischer Form auch mit C++03 verwenden.
Darunter auch Threads.