mirror of
https://github.com/odin-lang/Odin.git
synced 2025-12-28 17:04:34 +00:00
18 lines
635 B
Odin
18 lines
635 B
Odin
/*
|
|
Various synchronization primitives useful to mediate threads' access to shared memory.
|
|
|
|
To limit or control the threads' access to shared memory typically the following approaches are used:
|
|
|
|
- Locks
|
|
- Lock-free
|
|
|
|
When using locks, sections of the code that access shared memory (also known as
|
|
**critical sections**) are guarded by locks, allowing limited access to threads
|
|
and blocking the execution of any other threads.
|
|
|
|
In lock-free programming the data itself is organized in such a way that threads
|
|
don't intervene much. It can be done via segmenting the data between threads,
|
|
and/or by using atomic operations.
|
|
*/
|
|
package sync
|