Ich bin auf der Suche nach leichtgewichtigen Multi-Threading-Framework für C++. Ich habe POSIX-Threads gefunden.
Bitte teilen Sie Ihre praktische Erfahrung mit POSIX-Threads mit: Bevor ich damit beginne, möchte ich die Vor- und Nachteile von echten Leuten kennen, nicht von Wiki.
Wenn Sie es praktisch mit etwas vergleichen (vielleicht, besser), wäre es interessant, beides zu wissen.POSIX-Threads Erfahrung? (Oder empfehlen Sie besser)
UPD: Cross-Plattform-Funktionen sind wirklich wichtig für mich, so würde ich diese Richtung beschrieben zu schätzen wissen.
UPD2: ich bereits eine Erfahrung mit einem Rahmen für QNX/Win32, aber es ist nicht leicht und - oh, ich vergaß, zu erwähnen - es kommerzielle, nicht frei, aber ich brauche eine kostenlose.
Können Sie ein wenig klären, warum ist Boost besser? Ich bin nicht sehr gewinnorientiert. Ich würde lieber Debugging-Unterstützung/Einfachheit/und so weiter bevorzugen. – avp
Wie Anteru schrieb: Pthreads ist eine C-API, während Boost eine C++ - Bibliothek ist. – mmmmmmmm
Boost ist auch nicht Windows-orientiert, sondern plattformübergreifend. Im Gegensatz zu Pthreads nutzt es die Vorteile von C++ - Funktionen und ist nach C++ - Idiomen gestaltet. Einige der Dinge, die es Ihnen über PThreads gibt sind: Typ Sicherheit, mehr Flexibilität bei der Übergabe von Parametern einen neuen Thread und einfachere Bedienung. Boost verwendet RAII ausgiebig, um beispielsweise eine Sperre zu erstellen, erstellen Sie einfach ein lokales Objekt und wenn es den Gültigkeitsbereich verlässt, wird die Sperre aufgehoben. Einfacher als Pthreads, wo Sie explizit eine Funktion aufrufen müssen, um eine Sperre freizugeben. (und Sie sind geschraubt, wenn Sie vergessen, oder eine Ausnahme ausgelöst wird) – jalf