https://github.com/planetis-m/sync
Useful synchronization primitives.
https://github.com/planetis-m/sync
multithreading parallelism synchronization threads
Last synced: 2 months ago
JSON representation
Useful synchronization primitives.
- Host: GitHub
- URL: https://github.com/planetis-m/sync
- Owner: planetis-m
- License: mit
- Created: 2021-04-22T16:34:29.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-08-26T19:26:49.000Z (10 months ago)
- Last Synced: 2024-11-15T03:33:36.350Z (7 months ago)
- Topics: multithreading, parallelism, synchronization, threads
- Language: Nim
- Homepage:
- Size: 453 KB
- Stars: 19
- Watchers: 2
- Forks: 3
- Open Issues: 9
-
Metadata Files:
- Readme: readme.rst
- License: LICENSE
Awesome Lists containing this project
- awesome-nim - sync - Useful synchronization primitives. (Language Features / Threading)
README
====================================================
Sync
====================================================Useful synchronization primitives.
Higher-level synchronization objects
====================================The following is an overview of the available synchronization objects:
- *Barrier*: Ensures multiple threads will wait for each other to reach a point in the program, before continuing execution all together.
- *Once*: Used for thread-safe, one-time initialization of a global variable.
- *RwLock*: Provides a mutual exclusion mechanism which allows multiple readers at the same time, while allowing only one writer at a time. In some cases, this can be more efficient than a mutex.
- *Semaphore*: Counting semaphore performing asynchronous permit aquisition.API `documentation `_