Threading in c++?


  • Administrator

    Ethon schrieb:

    Danke an euch alle, ich glaub ich werd mir mal das Boost anschauen, das hört sich nicht schlecht an. Danke 🙂

    Was spricht gegen die Threads der Standardbibliothek? Wieso auf alternative Bibliotheken ausweichen, die fast exakt das Selbe Interface implementieren wie die Standardbibliothek?

    Ich nenn dir einen einfachen Grund: Unterstützung von aktuellen Kompilern. 😉

    Grüssli



  • Dravere schrieb:

    Ethon schrieb:

    Danke an euch alle, ich glaub ich werd mir mal das Boost anschauen, das hört sich nicht schlecht an. Danke 🙂

    Was spricht gegen die Threads der Standardbibliothek? Wieso auf alternative Bibliotheken ausweichen, die fast exakt das Selbe Interface implementieren wie die Standardbibliothek?

    Ich nenn dir einen einfachen Grund: Unterstützung von aktuellen Kompilern. 😉

    Grüssli

    GCC läuft überall. Der TE programmiert ganz offensichtlich privat, also könnte er auch den nehmen. 😉

    C++11 ist das Beste was C++ seit langem widerfahren ist, also soll jeder neuen Features einfach nutzen anstatt noch 10 Jahre C++03 zu programmieren, dann etablieren sich die Features auch schneller. 😉



  • Ethon schrieb:

    C++11 ist das Beste was C++ seit langem widerfahren ist, also soll jeder neuen Features einfach nutzen anstatt noch 10 Jahre C++03 zu programmieren, dann etablieren sich die Features auch schneller. 😉

    Aber nur Compiler wechseln, damit man statt boost std hinschreiben kann?

    Oder kann man mit g++ einfach unter Visual Studio kompilieren? Auf diese IDE würde ich persönlich nämlich nur ungern verzichten. Und selbst dann denke ich, dass man sich viele nützliche Features wie den Debugger verbaut.

    Davon abgesehen hatte z.B. TR1.Random in der g++-Standardbibliothek bei meiner letzten Benutzung noch einige Bugs, obwohl es schon ein paar Jahre existiert. Von daher bin ich gegenüber Neuerungen eher vorsichtig, auch bei Microsoft. Hingegen sind etablierte Boost-Bibliotheken wie Thread (gibts schon ein Jahrzehnt!) tendenziell recht stabil...



  • Solange man "Cross-Compiler" entwickelt, kommt man an VS und GCC halt nicht vorbei, von daher würde ich mit std::thread zumindest noch bis VS 11 warten.



  • ...und bis dahin einfach boost::thread benutzen...


  • Administrator

    dot schrieb:

    ...und bis dahin einfach boost::thread benutzen...

    Genau oder sonstige Lösungen von entsprechenden Frameworks, welche man sowieso verwendet (Qt, SFML, usw.)

    @Ethon,
    Die Features werden sich etabilieren, sobald die gängigen Kompiler diese auch unterstützen. Du kannst das nicht erzwingen. MS wird diese Features nicht einführen, nur weil deine Bibliothek diese Features benötigt. Du wirst also einfach gewisse Leute/Projekte/usw. ausschliessen und wahrscheinlich eher die Mehrheit, weil noch ziemlich viele auf Kompilerunabhängigkeit schauen.

    Würde mich nicht überraschen, wenn es noch gut 5 Jahre geht, bis C++11 richtig etabliert ist.

    Grüssli



  • Dravere schrieb:

    Würde mich nicht überraschen, wenn es noch gut 5 Jahre geht, bis C++11 richtig etabliert ist.

    Na ja. Alle Bibliotheksfeatures kommen ja schon mit VS11, und das kommt vermutlich 2012. Und wenn man Microsoft glauben möchte, hängt der Rest ja nur an performanten variadic Templates, und sie sind zuversichtlich, das schnell nachliefern zu können. Und wenn Microsoft es schafft, bis Anfang 2013 einen vollständigen C++11 Compiler zu bauen, sollten die GCC Leute das doch wohl locker hinbekommen. Immer positiv denken. :xmas1:


  • Administrator

    cooky451 schrieb:

    Und wenn man Microsoft glauben möchte, hängt der Rest ja nur an performanten variadic Templates, und sie sind zuversichtlich, das schnell nachliefern zu können.

    Da hast du (oder ich?) Microsoft falsch verstanden. Sie wollten mit der nächsten Version von MSVC auch die Varadic Templates bringen, aber haben anscheinend die Arbeit etwas unterschätzt. Daher soll wahrscheinlich für den nächsten MSVC später ein Patch nachgeliefert werden, welcher die Variadic Templates bringt.
    Dann haben sie zwar Varadic Templates aber eine Menge anderer Features fehlen dann immer noch. Die kommen erst im nächsten Kompiler. Und die erscheinen im 2-3 Jahrestakt. Somit wäre der früheste Termin im 2014, aber wahrscheinlich eher 2015.

    Und nicht vergessen sollte man, dass es wahrscheinlich noch 1-2 Jahre danach gehen wird, bis auch die letzten mühsamen Bugs beseitigt sind. Somit erst mit dem SP1 des 2015 MSVC ist meiner Meinung nach der früheste Termin zu sehen 🙂

    cooky451 schrieb:

    Und wenn Microsoft es schafft, bis Anfang 2013 einen vollständigen C++11 Compiler zu bauen, sollten die GCC Leute das doch wohl locker hinbekommen.

    Die Leute vom GCC womöglich. Die Frage ist aber auch, ob die Leute von Clang es bis dahin schaffen. Clang bekommt zunehmend an Bedeutung. Bin sehr gespannt wie die Verteilung in 5 Jahren aussehen wird zwischen GCC und Clang.

    cooky451 schrieb:

    Immer positiv denken. :xmas1:

    Ich denke lieber realistisch oder auch ein wenig pessimistisch. Da kann man fast nur positiv überrascht werden. Wenn man positiv denkt, wird man ständig enttäuscht 😉

    Grüssli



  • Solange man "Cross-Compiler" entwickelt, kommt man an VS und GCC halt nicht vorbei, von daher würde ich mit std::thread zumindest noch bis VS 11 warten.

    Die meisten C++-Enthusiasten, die ich kenne, und die unter Windows arbeiten benutzen schon seit einer Weile den Windows-Port von GCC gerade aufgrund der mangelnden C++11 Unterstützung des MSVC.
    Was spricht denn gegen MinGW ?



  • Ethon schrieb:

    Was spricht denn gegen MinGW ?

    Dass man kein Visual Studio mehr hat. Und das betrifft ja nicht nur einen selbst. Wenn man mal neue Leute sucht, scheiden alle VS Liebhaber sofort aus.


Anmelden zum Antworten