Support du Multi-thread en c11

La nouvelle C11 norme fournit un support pour le Multi-Threading.

Mes Questions sont un peu diversifié mais certainement responsable.

J'ai eu un coup d'oeil à la C11 n1570 projet.

Il dit:

prise en charge de plusieurs threads d'exécution, y compris une amélioration de la mémoire de séquençage
modèle atomique objets, et le fil de stockage local (<stdatomic.h> et <threads.h>)

Quel est le Amélioration de la mémoire de séquençage modèle? Comment/Ce qui change à partir du Standard c99?

Plutôt que de simplement des devis de la norme, je vous en seront reconnaissants si quelqu'un plonge plus profondément en eux et tente d'expliquer la sémantique impliqués.

Que je comprends, C11 fournit un support pour:

  • Fil de la création et de la Gestion
  • Mutex
  • Variables Conditionnelles
  • Fil de stockage Spécifique &
  • Atomique Objets

J'espère que je n'ai pas oublié quelque chose?

Depuis maintenant de la bibliothèque Standard fournit elle-même(présentera toutes les fonctionnalités nécessaires pour le Multi-Threading, il n'y aurait pas besoin de POSIX et des bibliothèques(pour le support du Multi-thread) dans l'avenir?

Enfin, les compilateurs de fournir un soutien pour les caractéristiques mentionnées ci-dessus? Il y a aucune références du calendrier lorsque ceux-ci seront pris en charge?

Je me souviens de C++11, il y a un lien pour la prise en charge du compilateur et de fonctionnalités, peut-être quelque chose comme ça?

  • Voir aussi: stackoverflow.com/questions/4938258/...
  • La question est sur le c11 et pas du c++11.Les deux sont différents.Les deux liens vous sont fournis pour le c++11 et pas c11.duh?
  • Je suis proche de vote ('copie exacte) parce que votre première question (à Propos de la séquence modèle) a déjà été répondu. Il est difficile de répondre à des questions qui contiennent de multiples questions, parce que quelqu'un peut ne connaissons qu'une partie de votre question, la réponse peut donc jamais être accepté, car il ne répond pas à l'ensemble de la question, et il ne peut jamais être accepté de répondre. Veuillez diviser votre question, et de supprimer la copie exacte de la pièce (ou indiquer pourquoi il est différent de l'questions que j'ai mis en lien).
  • ... oh, je vois que c'est sur le C11, pas du C++11. Tant pis alors! Je recommande toujours que vous divisez votre question toutefois vous avez une question sur: 1) qu'est Ce qu'un mémoire de séquençage de modèle? (éventuellement répondu par le C++11, la réponse sera similaire avec une syntaxe différente) 2) EST-ce tout ce qui C11 offre? 3) Est-pthreads etc-il encore nécessaire? 4) Comment est-C11 prise en charge du compilateur en progression?
  • Je crois 1-3 de Q sont logiquement liées et doivent être regroupées.Une réponse pour l'une des 3 touchent à tous les 3 d'entre eux.Peut-être, 4 pourrait être séparé Q mais je ne me sentais pas justifié de commencer un Q juste pour ça.
  • 1 est une question très technique qui auraient besoin d'une réponse longue comme celle du C++11 question j'ai relié; 3-que quelqu'un avec moins de profondeur dans la connaissance de l'Api pourraient répondre. 2 nécessite moins de connaissances spécifiques. C'est à vous si vous voulez couper ou pas, mais compliqué multi-partie des questions ont tendance à obtenir de moins en moins de réponses, et des questions ciblées seront plus utiles pour les gens dans le futur la recherche de quelque chose de spécifique.
  • Je comprends votre préoccupation.Cependant,je vais le laisser rester comme tel pour le moment, Jusqu'à ce qu'au moins certains d'expositions de la réponse,si theres aucun qui touchait à eux je vais vous séparer.
  • Vote pour fermer trop large: plusieurs questions en une seule. La mise en œuvre du statut demandé à: stackoverflow.com/questions/8741299/... et stackoverflow.com/questions/24557728/...

InformationsquelleAutor Alok Save | 2012-01-16