2017-10-27 1 views
0

Ich habe this example gelesen und durch this wiki browsed in Bezug auf Echtzeit-Anwendungsentwicklung mit einem PREEMPT Patched Kernel. Ersteres verwendet POSIX-Threads und letzteres verweist nur auf die Notwendigkeit von PTHREAD_PRIO_INHERIT-Mutexen.Linux RT Preempt - Sind POSIX-Threads erforderlich?

Also habe ich nichts gesehen, das sagt, dass ich explizit POSIX-Threads brauche, um den PREEMPT-Patch zu nutzen, aber es scheint in gewisser Weise so zu sein. Würde ich weiterhin den Vorteil des PREEMPT-Patches erhalten, wenn ich native C++ 11-Threads oder Boost-Threads implementiert hätte?

Dank

+0

Um nur zu erwähnen, letztes Mal, als ich versuchte, C++ 11 Threads in g ++, IIRC zu verwenden, musste ich trotzdem gegen libpthread verlinken. – cHao

+0

Das stimmt, also bin ich geneigt zu glauben, dass die C++ + 11-Threads noch in Ordnung sind, aber das ist nicht viel mehr als eine Ahnung. – DrTarr

Antwort

0

Späte Antwort, aber immer noch ...

auf Linux (und anderen Unix-Systemen) C++ std Fäden oft oben auf pThreads umgesetzt. Die C++ - Schnittstelle ist oft viel typsicherer und bequemer, aber für einige Dinge benötigen Sie die rohe Posix-Schnittstelle. Zum Beispiel sind Priority-Vererbung-Mutexe und einige Thread-Scheduling-Einstellungen nicht (zumindest) mit std :: threads verfügbar. Ich habe manchmal Posix-Primitive und die std :: thread-Primitive betrogen und gemischt, es hat für mich funktioniert.

Verwandte Themen