C++ and Rust memory model: atomics, orderings, and lock-free patterns
Relaxed/acquire-release/acq-rel/seq-cst comparison table with C++ and Rust equivalents, happens-before reasoning, fences, and spinlock/refcount/lazy-init patterns with common mistakes to avoid
- What
- Relaxed/acquire-release/acq-rel/seq-cst comparison table with C++ and Rust equivalents, happens-before reasoning, fences, and spinlock/refcount/lazy-init patterns with common mistakes to avoid
- Cost
- Free
- Needs
- a C++ or Rust project with concurrent code to reason about — the skill is guidance the agent follows, not software to install
- Install
- Copy the installer prompt below into your Muse — your agent does the rest.
Curated by Skill Harbor — @mohitmishra786's memory-model skill: the agent's guide through the C++ and Rust memory models — the full ordering ladder (Relaxed < Release/Acquire < AcqRel < SeqCst) with C++ and Rust equivalents per rung and what each guarantees, acquire-release publish/subscribe reasoning with a worked producer/consumer example, a decision tree for picking the right ordering per use case (counters → Relaxed, refcounts → AcqRel, publish → Release/Acquire, lock-free queues → start with SeqCst), ready-to-study patterns (spinlock, reference counting, one-time lazy init), fences as ordering without a specific variable, Rust atomics (`Ordering::Relaxed`/`Acquire`/`Release`), and a common-mistakes table (Relaxed for publish/subscribe, SeqCst everywhere without profiling, `volatile` as thread-safety in C++). Cross-references companion skills for sanitizers (TSan, Miri), x86 assembly, and GDB. Honest caveats: guidance only — it does not replace testing with ThreadSanitizer on your actual target CPU; lock-free code still needs stress tests on the hardware you ship. MIT licensed. Skill Harbor never reviews the code, review it yourself before use. Discovered via skills.sh.
Version:
Install
Prerequisites: a C++ or Rust project with concurrent code to reason about — the skill is guidance the agent follows, not software to install Install "C++ and Rust memory model: atomics, orderings, and lock-free patterns" for me. It gives my agent @mohitmishra786's memory-model playbook: the Relaxed/Release-Acquire/AcqRel/SeqCst ordering table with C++ and Rust equivalents, happens-before reasoning, a decision tree for picking orderings, spinlock/refcount/lazy-init patterns, fences, Rust atomics, and the common-mistakes table. MIT licensed. Repository: https://github.com/mohitmishra786/low-level-dev-skills/blob/main/skills/low-level-programming/memory-model/SKILL.md 1. Fetch the SKILL.md file (and any helper files) from the repository path into a temporary folder and summarize what it does in one or two sentences. 2. Safety check: review the SKILL.md and scripts for anything suspicious (unexpected network calls, shell commands, credential harvesting). This repo should contain zero secrets in code, credentials only via the secure vault, allowed hosts declared in the SKILL.md. Verify that holds here; STOP on any red flag and tell me. 3. Install it as a skill: copy SKILL.md and its helper files into the agent's skills directory, in a folder named "memory-model". 4. Verify with no network calls: frontmatter valid, files in place. 5. Report what was installed, where, and what I still need to do myself (e.g. point the agent at my concurrent C++/Rust code; companion skills for sanitizers (TSan, Miri), x86 assembly, or GDB come from the same repo's other skill folders — install separately if needed; stress-test lock-free code on the target hardware). GitHub is optional: if I have a GitHub account or the gh CLI, you may use it; otherwise public access is fine. Never require it unless it's in the prerequisites above. Rules: don't touch anything outside the temp folder and the install target. If anything looks off, stop and ask me.
Questions
How do I install a build?
Every product page includes a copy-paste install prompt. Paste it into your Muse and it sets the build up for you — no manual configuration.
Where does my money go?
Straight to the seller. Skill Harbor never processes payments: checkout happens on the seller’s own page, usually Stripe.
What does the ✓ next to a creator’s name mean?
It means we confirmed the identity of the person behind the listing. It says nothing about the code itself — always check a build before installing it.