├── .github └── workflows │ └── main.yml ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE.md ├── Makefile ├── README.md ├── concurrency-primer.tex ├── examples ├── .clang-format ├── Makefile ├── rmw_example.c ├── rmw_example_aba.c └── simple_aba_example.c ├── extra └── pipeline.tex ├── ideal-machine.png ├── images ├── atomic-rmw.pdf ├── atomic-types.pdf ├── atomicity.pdf ├── false-sharing.pdf ├── mp-cache.pdf ├── pipeline.pdf ├── progress-type.pdf ├── spinlock.pdf ├── spmc-solution1.pdf ├── spmc-solution2.pdf └── spmc-solution3.pdf └── lib └── codeblock.tex /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/.gitignore -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/LICENSE.md -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/README.md -------------------------------------------------------------------------------- /concurrency-primer.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/concurrency-primer.tex -------------------------------------------------------------------------------- /examples/.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/examples/.clang-format -------------------------------------------------------------------------------- /examples/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/examples/Makefile -------------------------------------------------------------------------------- /examples/rmw_example.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/examples/rmw_example.c -------------------------------------------------------------------------------- /examples/rmw_example_aba.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/examples/rmw_example_aba.c -------------------------------------------------------------------------------- /examples/simple_aba_example.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/examples/simple_aba_example.c -------------------------------------------------------------------------------- /extra/pipeline.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/extra/pipeline.tex -------------------------------------------------------------------------------- /ideal-machine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/ideal-machine.png -------------------------------------------------------------------------------- /images/atomic-rmw.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/images/atomic-rmw.pdf -------------------------------------------------------------------------------- /images/atomic-types.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/images/atomic-types.pdf -------------------------------------------------------------------------------- /images/atomicity.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/images/atomicity.pdf -------------------------------------------------------------------------------- /images/false-sharing.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/images/false-sharing.pdf -------------------------------------------------------------------------------- /images/mp-cache.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/images/mp-cache.pdf -------------------------------------------------------------------------------- /images/pipeline.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/images/pipeline.pdf -------------------------------------------------------------------------------- /images/progress-type.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/images/progress-type.pdf -------------------------------------------------------------------------------- /images/spinlock.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/images/spinlock.pdf -------------------------------------------------------------------------------- /images/spmc-solution1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/images/spmc-solution1.pdf -------------------------------------------------------------------------------- /images/spmc-solution2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/images/spmc-solution2.pdf -------------------------------------------------------------------------------- /images/spmc-solution3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/images/spmc-solution3.pdf -------------------------------------------------------------------------------- /lib/codeblock.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sysprog21/concurrency-primer/HEAD/lib/codeblock.tex --------------------------------------------------------------------------------