Themen unter Linux lernen

Linux ist für mich eine neue Plattform. Ich habe einige Jahre lang unter Windows in c ++ programmiert und bin mit Multithreading auf dieser Plattform vertraut geworden.

Zusammen kommt C ++ 11 zu einer Zeit, wenn ich C ++ auf der Linux-Plattform lernen muss.

Linux verwendet anscheinend zum größten Teil pthreads - okay, es gibt auch boost :: threads und QT haben auch ihre eigenen threads. Aber mit C ++ 11 kommt std :: thread, eine völlig neue (plattformübergreifende und C ++ - Standard) Möglichkeit, um Threads zu erstellen.

Also muss ich wohl pthreads und std :: threads lernen. Letztendlich scheint std :: thread wichtiger zu sein, aber es gibt eine Menge Legacy-Code, also muss ich beide kennen.

Für die Thread-Synchronisation unter Windows würde ich verwendenWaitForMultipleObjects Warten Sie, bis eine Reihe von Aufgaben abgeschlossen ist, bevor Sie mit der weiteren Arbeit fortfahren.

Gibt es einen ähnlichen Synchronisationsmechanismus für pthreads? std :: threads?

Ich habe mir das angeschautpthread_join, und es scheint die Möglichkeit zu geben, immer nur auf einen Thread zu warten. Vermisse ich vielleicht einen anderen pthread-Aufruf?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage