• Stars
    star
    1,251
  • Rank 37,562 (Top 0.8 %)
  • Language
    Rust
  • License
    Other
  • Created almost 2 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Code examples, data structures, and links from my book, Rust Atomics and Locks.

This repository contains the code examples, data structures, and links from Rust Atomics and Locks.

The examples from chapters 1, 2, 3, and 8 can be found in examples/. The data structures from chapters 4, 5, 6, and 9 can be found in src/.

Chapter 1 โ€” Basics of Rust Concurrency

Chapter 2 โ€” Atomics

Chapter 3 โ€” Memory Ordering

Chapter 4 โ€” Building Our Own Spin Lock

Chapter 5 โ€” Building Our Own Channels

Chapter 6 โ€” Building Our Own โ€œArcโ€

Chapter 7 โ€” Understanding the Processor

Chapter 8 โ€” Operating System Primitives

Chapter 9 โ€” Building Our Own Locks

Chapter 10 โ€” Ideas and Inspiration

License

You may use all code in this repository for any purpose.

Attribution is appreciated, but not required. An attribution usually includes the book title, author, publisher, and ISBN. For example: "Rust Atomics and Locks by Mara Bos (Oโ€™Reilly). Copyright 2023 Mara Bos, 978-1-098-11944-7."

More Repositories

1

nightly-crimes

Please do not use this.
Rust
169
star
2

pong

Fake ping times.
Rust
144
star
3

floatconv

Fast implementations of integer/floating point conversion operations.
Rust
130
star
4

auto-import

Please do not use this.
Rust
127
star
5

atomic-wait

Cross-platform atomic wait and wake (aka futex) functionality for Rust.
Rust
102
star
6

whichever-compiles

Rust
93
star
7

linux-futex

Rust interface for Linux futexes, the fast user-space locking primitive.
Rust
83
star
8

config

The one and only perfect configuration for Vim, Zsh, Bash, Git, etc.
Shell
38
star
9

spez

Rust macro to specialize on the type of an expression.
Rust
35
star
10

bootlib

A minimalistic library to help making your x86 assembly program bootable.
Assembly
25
star
11

git-prompt-path

Display git information next to every path component in your prompt.
Shell
24
star
12

teck-programmer

Programmer for TECK keyboards.
JavaScript
22
star
13

units

Compile time unit checking with C++11 template magic.
C++
13
star
14

reedition

Rust
11
star
15

picp

A PIC16F145x based PIC16F145x USB programmer.
C++
11
star
16

rust-horrible-katex-hack

Rust
10
star
17

moggle

A C++11 OpenGL library.
C++
9
star
18

single-use-dns

Rust
9
star
19

bebop-rust

Rust
7
star
20

tek

Truly Ergonomic Keyoard Firmware Upgrade Tool
C++
7
star
21

futex-lock-experiment

Rust
6
star
22

r6502

6502 processor emulator written in Rust
Rust
4
star
23

blog

My blog. https://blog.m-ou.se/
4
star
24

cpp-experiments

Some crazy C++ experiments
C++
2
star
25

ryu-rust

Fast floating point to decimal string conversion, using the Ryu algorithm.
2
star
26

cratesync

Rust
2
star
27

raw-string-rs

Small Rust library providing RawStr and RawString.
Rust
1
star
28

scrabble-bf

Brute-force tool to find the highest-scoring word in Scrabble/Wordfeud.
C++
1
star
29

x86502

A bootable 6502 emulator for x86.
Assembly
1
star
30

moggled

Moggle for D
D
1
star
31

serial

A cross-platform serial port library.
C++
1
star
32

tis100node

Rust
1
star
33

klondike

Rust
1
star
34

ninj

Rust
1
star