c++, des filets de traitement parallèle
Je me demandais comment exécuter deux processus dans un processeur dual-core en c++.
Je sais threads (ou multi-threading) n'est pas une fonctionnalité intégrée de c++.
Il est en charge des threads dans Qt, mais je n'ai pas de comprendre quoi que ce soit à partir de leur référence. 🙁
Donc, est-ce quelqu'un connaît un moyen simple pour un débutant de le faire. Support multi-plateforme (comme Qt) serait très utile depuis que je suis sur Linux.
OriginalL'auteur Kid Green | 2011-04-19
Vous devez vous connecter pour publier un commentaire.
Essayer le Le Multithreading dans C++0x partie 1: a Partir des Threads comme un 101. Si vous le compilateur n'a pas C++0x de soutien, alors rester avec Coup de pouce.Fil
OriginalL'auteur dubnde
Prendre un coup d'oeil à Coup de pouce.Fil. C'est multi-plateforme et une très bonne bibliothèque à utiliser dans vos applications C++.
Spécifiquement, que voudriez-vous savoir?
OriginalL'auteur murrekatt
Les threads POSIX (pthreads) bibliothèque est probablement votre meilleur pari si vous avez juste besoin d'un simple enfilage de la bibliothèque, il a implémentations à la fois sur Windows et Linux.
Un guide peut être trouvé par exemple ici. Un Win32 mise en œuvre de pthreads peut être téléchargé ici.
Edit: N'ai pas vu que vous étiez sur Linux. Dans ce cas, je ne suis pas sûr à 100% mais je pense que les bibliothèques sont probablement déjà fournie avec votre installation de GCC.
OriginalL'auteur Rune Aamodt
Je vous recommande d'utiliser les bibliothèques Boost Coup de pouce.Fil à la place. Cela permettra d'envelopper les spécificités de la plate-forme de Win32 et Posix, et de vous donner un solide ensemble de filetage et d'objets de synchronisation. Il est aussi très lourd d'utilisation, afin de trouver de l'aide sur les problèmes que vous rencontrez sur soi et les autres sites, c'est facile.
OriginalL'auteur holtavolt
Vous pouvez rechercher un PDF gratuit livre "C++-GUI-Programming-with-Qt-4-1st-ed.zip" et de lire le Chapitre 18 sur du Multi-threading dans Qt.
La programmation simultanée fonctionnalités prises en charge par Qt inclut (entre autres, les suivantes:
Cependant, être au courant de la suite de compromis avec Qt:
Si vous pouvez vivre avec les limitations ci-dessus, il suffit de suivre ces recettes pour l'utilisation de QThread:
Sameple Code:
OriginalL'auteur user715213
Comme une remarque importante en c++14, l'utilisation de simultanées filetage est disponible:
Les deux
std::async
(std::launch::async
,std::launch::deferred
) etstd::thread
sont entièrement compatibles avec Qt, et dans certains cas peut-être mieux en mesure de travailler dans différents environnements d'OS.Pour parallèle traitement, voir cette.
OriginalL'auteur Babra Cunningham