J'utilise <thread> <atomic> <mutex>
etc lourdement dans mon code, qui comprend plusieurs algorithmes sans verrou. Je vise (éventuellement) un environnement Linux. J'ai développé avec la version bêta de Visual Studio 2011, qui manque cruellement d'autres fonctionnalités C++ 11, semble être la seule chaîne d'outils qui implémente les fonctionnalités simultanées.Concurrent C++ 11 - Quels toolchains peuvent être utilisés?
Voir c 11 ++ soutien ici:
Maintenant, si les autres ne disposent pas simplement une bibliothèque contenant les C++ 11 fonctions simultanées, je peux facilement utiliser just::thread, cependant à la fois clang et gcc répondent "non" au modèle de mémoire C++ 11, ce qui semble au moins visuel. Je ne suis pas exactement sûr de l'effet que cela aurait - probablement l'optimisation du code libre d'effet secondaire, entre autres choses erronées.
Si pour l'instant j'évite complètement les builds optimisés et ne compile que les builds de débogage sans optimisations activées - est-il raisonnable d'utiliser la chaîne d'outils Clang ou GCC?
Ma conjecture immédiate est que si vous utilisez 'just :: thread', cela fonctionnera bien. Il utilise les primitives natives (Posix ou Win32) pour imposer des choses comme commander, donc je pense qu'un compilateur devrait être assez mal brisé en général pour qu'il échoue. –
Vous devriez probablement inclure une balise liée à plusieurs threads dans votre liste, Anthony Williams apparaît régulièrement ici, donc si vous êtes assez chanceux, il remarquera alors. Je pense qu'il a créé 'just :: thread' afin qu'il soit multi-plateforme, donc je ne m'attendrais à aucun problème. –