c++ threads - parallel processing
Ich Frage mich, wie führen zwei Prozesse in einer dual-core-Prozessor in c++.
Ich weiß, threads (oder multi-threading) ist nicht ein built-in feature von c++.
Es ist threading-Unterstützung in Qt, aber ich Verstand nichts von der Referenz. 🙁
So, weiß jemand eine einfache Möglichkeit für einen Anfänger, es zu tun. Cross-platform Unterstützung (wie Qt) wäre sehr hilfreich da ich mich auf Linux.
InformationsquelleAutor Kid Green | 2011-04-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen die Multithreading in C++0x, Teil 1: Starten von Threads als 101. Wenn Sie der compiler nicht haben C++0x unterstützen, dann bleiben Sie mit Boost.Thread
InformationsquelleAutor dubnde
Werfen Sie einen Blick auf Boost.Thread. Dies ist cross-Plattform und eine sehr gute Bibliothek zu verwenden, die in Ihrem C++ - Anwendungen.
Was speziell möchtest du wissen?
InformationsquelleAutor murrekatt
Den POSIX-Threads (pthreads) - Bibliothek ist wahrscheinlich Ihre beste Wette, wenn Sie brauchen nur einen einfachen threading-Bibliothek, hat es Implementierungen sowohl auf Windows und Linux.
Eine Anleitung findet man z.B. hier. Eine Win32-Umsetzung von pthreads heruntergeladen werden kann hier.
Edit: Wollte nicht sehen, Sie waren auf Linux. In diesem Fall bin ich mir nicht 100% sicher, aber ich denke, die Bibliotheken sind wahrscheinlich schon gebündelt mit Ihrem GCC-installation.
InformationsquelleAutor Rune Aamodt
Ich würde empfehlen, mit der Boost-Bibliotheken Boost.Thread statt. Diese wrap-Plattform Besonderheiten von Win32-und Posix, und geben Ihnen ein festes set von threading und Synchronisation von Objekten. Es ist auch in sehr schweren Gebrauch, so finden Sie Hilfe zu allen Fragen, die Sie stoßen auf SO und auf anderen Seiten ist einfach.
InformationsquelleAutor holtavolt
Können Sie die Suche nach einem kostenlosen PDF-Buch "C++-GUI-Programming-with-Qt-4-1st-ed.zip" und Lesen Sie Kapitel 18 über Multi-threading in Qt.
Concurrent programming unterstützte Funktionen von Qt beinhaltet (nicht beschränkt auf) die folgenden:
Allerdings bewusst sein, die folgenden trade-offs mit Qt:
Wenn Sie Leben können mit den oben genannten Einschränkungen, Folgen Sie einfach diese Rezepte für die Verwendung von QThread:
Sameple Code:
InformationsquelleAutor user715213
Als ein wichtiger Hinweis in c++14, die Verwendung von gleichzeitige threading verfügbar ist:
Beide
std::async
(std::launch::async
,std::launch::deferred
) undstd::thread
sind voll kompatibel mit Qt, und in einigen Fällen kann es besser sein, bei der Arbeit in den verschiedenen OS-Umgebungen.Für parallel Verarbeitung, siehe diese.
InformationsquelleAutor Babra Cunningham