Zeigt, wie ein Thread gestartet wird.
Mehr ...
Um einen Thread zu starten, sind mehrere Schritte erforderlich.
- Zuerst muß der Anwender eine eigene Klasse erstellen und diese von ppl6::CThread ableiten
- Die Klasse des Anwenders muß eine Funktion "ThreadMain" enthalten, die den auszuführenden Code enthält.
- Diese muß in regelmäßigen Abständen die Funktion CThread::ThreadShouldStop aufrufen, um zu prüfen, ob der Thread sich beenden soll.
- Der Thread selbst wird dann von Hauptprogramm aus über die Funktion CThread::ThreadStart() gestartet.
Beispiel:
#include <ppl6.h>
class MyClass : public ppl6::CpplThread
{
public:
virtual void ThreadMain(void *param);
};
void MyClass::ThreadMain(void *param)
{
printf ("Client-Thread wurde gestartet.\n");
while (1) {
if(ThreadShouldStop()) break;
}
printf ("Client-Thread wurde beendet.\n");
}
int main(int argc, char **argv)
{
MyClass Job;
printf ("Der Haupthread startet einen Client-Thread...\n");
Job.ThreadStart();
printf ("Der Haupthread wartet nun 5 Sekunden...\n");
printf ("Der Haupthread signalisiert dem Client-Thread, dass er sich beenden soll...\n");
Job.ThreadSignalStop();
printf ("Der Haupthread wartet, bis der Client-Thread beendet ist...\n");
Job.ThreadStop();
printf ("Der Client-Thread wurde erfolgreich gestoppt.\n");
return 0;
}