Boost Thread Erstellung
-
Guten Abend (oder besser Gute Nacht/Guten Morgen)
ich wollte, zwecks portabilität, von _beginthread auf boost::thread umsteigen. Nun hab ich aber das Problem, das ich nicht zur Compilezeit weiß, welche Threads gestartet werden sollen. Dies bestimmt der Benutzer während der Laufzeit.
Bei _beginthread habe ich mir einfach eine Funktion geschrieben, welche das dann alles regelt und den Thread erstellt. Bei boost::thread habe ich allerdings nur Beispiele gefunden, die den Thread direkt bei der dekleration erstellen, per
boost::thread t(ThreadFunc);Jetzt wollte ich fragen, ob es irgendeine Möglichkeit gibt, den Thread dynamisch zu erstellen, wenn er gebraucht wird.
Danke schonmal für die Hilfe.
MfG
Shelling
-
Ja, nennt sich "new".
class foo { public: void test() { m_thread = boost::shared_ptr<boost::thread>(new boost::thread(lala)); } private: boost::shared_ptr<boost::thread> m_thread; // alternativ scoped_ptr wenn keine shared ownership benötigt wird };