boost/thread vs. java-threads
-
Ich kenne das java Threadsystem.
Inwiefern unterscheidet sich boost/thread davon.
Was sind boosts Aequivalente zu javas:->Monitorkonzept(synchronized) - synchronisierte Bloecke und Funktionen
->wait()/notify() Mechanismus
-> Erzeugen und starten von Threads (Die Klasse Thread(mit run() und start()))Waer nett, wenn jemand das kurz erlaeutern koennte
Bitte kein RTFM....thx in advance
-
-
schau mal da nach:
http://www.cuj.com/documents/s=8470/cuj0205kempf/
http://www.kharchi.de/threads.htmlbye
-
Dieser Thread wurde von Moderator/in volkard aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
... schrieb:
cplusplus. schrieb:
schau mal da nach:
http://www.cuj.com/documents/s=8470/cuj0205kempf/
http://www.kharchi.de/threads.html
bye lBitte kein RTFM....
Kann mir dann evtl. jemand sagen, wie ich einen Thread erzeuge, der eine non-void Funktion annimmt?
//von amin kharchi #include <iostream> #include <boost/thread/thread.hpp> using namespace std; void function1() { for(int i=0; i<10000; i++) cout << "huhu: " << i << endl; } void function2() { for(int i=0; i<10000; i++) cout << "lala: " << i << endl; } //hinzugefuegt void func(int a, bool b); ///hinzugefuegt int main() { boost::thread t1(&function1); // Thread-Objekt t1 erstellen und function1() starten. function2(); // t1 läuft gleichzeitig weiter, während function2() aufgerufen wird! //hinzugefuegt //und wie starte ich func als thread? ///hinzugefuegt }
-
Kann mir dann evtl. jemand sagen, wie ich einen Thread erzeuge, der eine non-void Funktion annimmt?
Also du könntest versuchen boost::bind dafür zu benutzen.
Für Functionspointer:
http://www.boost.org/libs/bind/bind.html#with_functionsFür Functionsobjekte:
http://www.boost.org/libs/bind/bind.html#with_function_objectsAllgemein:
http://www.boost.org/libs/bind/bind.htmlboost::thread t2(boost::bind(func, 10, false));
Weiß nicht ob es auch mit den bindern der Standard-Lib funktioniert. Hab ich noch nie ausprobiert.