C++ and Rust memory model: atomics, orderings, and lock-free patterns
Table comparative relaxed/acquire-release/acq-rel/seq-cst avec équivalents C++ et Rust, raisonnement happens-before, fences, et patterns spinlock/refcount/lazy-init avec erreurs courantes à éviter
- Quoi
- Table comparative relaxed/acquire-release/acq-rel/seq-cst avec équivalents C++ et Rust, raisonnement happens-before, fences, et patterns spinlock/refcount/lazy-init avec erreurs courantes à éviter
- Coût
- Gratuit
- Prérequis
- un projet C++ ou Rust avec du code concurrent à raisonner — le skill est un guide que l'agent suit, pas un logiciel à installer
- Installation
- Copiez le prompt d’installation ci-dessous dans votre Muse — votre agent fait le reste.
Sélectionné par Skill Harbor — le skill memory-model de @mohitmishra786 : le guide de l'agent à travers les modèles mémoire C++ et Rust — l'échelle complète des orderings (Relaxed < Release/Acquire < AcqRel < SeqCst) avec équivalents C++ et Rust par niveau et ce que chacun garantit, raisonnement publish/subscribe en acquire-release avec exemple producteur/consommateur détaillé, arbre de décision pour choisir le bon ordering par cas d'usage (compteurs → Relaxed, refcounts → AcqRel, publication → Release/Acquire, files lock-free → commencer par SeqCst), patterns prêts à étudier (spinlock, comptage de références, lazy init à usage unique), fences comme barrières d'ordre sans variable spécifique, atomiques Rust (`Ordering::Relaxed`/`Acquire`/`Release`), et table des erreurs courantes (Relaxed pour publish/subscribe, SeqCst partout sans profiling, `volatile` comme thread-safety en C++). Renvoie vers des skills compagnons pour les sanitizers (TSan, Miri), l'assembleur x86 et GDB. Bémols honnêtes : guide seulement — ne remplace pas les tests avec ThreadSanitizer sur votre vrai CPU cible ; le code lock-free exige quand même des tests de charge sur le matériel livré. Licence MIT. Skill Harbor ne vérifie jamais le code, examinez-le vous-même avant usage. Découvert via skills.sh.
Version :
Installation
Prérequis : un projet C++ ou Rust avec du code concurrent à raisonner — le skill est un guide que l'agent suit, pas un logiciel à installer Installe-moi « Modèle mémoire C++ et Rust : atomiques, orderings et patterns lock-free ». Il donne à mon agent le manuel memory-model de @mohitmishra786 : la table des orderings Relaxed/Release-Acquire/AcqRel/SeqCst avec équivalents C++ et Rust, le raisonnement happens-before, un arbre de décision pour choisir les orderings, les patterns spinlock/refcount/lazy-init, les fences, les atomiques Rust et la table des erreurs courantes. Licence MIT. Dépôt : https://github.com/mohitmishra786/low-level-dev-skills/blob/main/skills/low-level-programming/memory-model/SKILL.md 1. Récupère le fichier SKILL.md (et les fichiers d'aide éventuels) depuis le chemin du dépôt dans un dossier temporaire et résume en une ou deux phrases ce qu'il fait. 2. Vérification de sécurité : examine le SKILL.md et les scripts pour tout contenu suspect (appels réseau inattendus, commandes shell, collecte d'identifiants). Ce dépôt ne devrait contenir aucun secret en dur, les identifiants uniquement via le coffre sécurisé, les hôtes autorisés déclarés dans le SKILL.md. Vérifie que c'est bien le cas ici ; STOP sur tout signal d'alerte et dis-le-moi. 3. Installe-le comme skill : copie le SKILL.md et ses fichiers d'aide dans le répertoire des skills de l'agent, dans un dossier nommé « memory-model ». 4. Vérifie sans appels réseau : frontmatter valide, fichiers en place. 5. Indique ce qui a été installé, où, et ce qu'il me reste à faire moi-même (p. ex. pointer l'agent vers mon code C++/Rust concurrent ; les skills compagnons pour les sanitizers (TSan, Miri), l'assembleur x86 ou GDB viennent des autres dossiers de skills du même repo — à installer séparément si besoin ; tester en charge le code lock-free sur le matériel cible). GitHub est optionnel : si j'ai un compte GitHub ou la CLI gh, tu peux l'utiliser ; sinon l'accès public suffit. Ne jamais l'exiger sauf s'il figure dans les prérequis ci-dessus. Règles : ne touche à rien en dehors du dossier temporaire et de la cible d'installation. Si quelque chose semble anormal, arrête-toi et demande-moi.
Questions
Comment installer une création ?
Chaque fiche produit contient un prompt d’installation à copier-coller. Collez-le dans votre Muse et il installe la création pour vous — sans configuration manuelle.
Où va mon argent ?
Directement au vendeur. Skill Harbor ne traite jamais les paiements : le paiement se fait sur la page du vendeur, généralement via Stripe.
Que signifie le ✓ à côté du nom d’un créateur ?
Il signifie que nous avons confirmé l’identité de la personne derrière la fiche. Il ne dit rien sur le code lui-même — vérifiez toujours une création avant de l’installer.