Web Locks API

Web Locks API
implementation for Node.js based on
worker_threads,
Atomics,
SharedArrayBuffer,
asynchronous functions,
and queue.
See specification: wicg.github.io/web-locks/
and documentation: developer.mozilla.org/en-US/docs/Web/API/Lock
This implementation is a part of Metarhia
technology stack, needed for the first pilot project of Node.js application
server based on parallel programming and workload micro-isolation. Web Locks
API is intended to be merged into Node.js in future.
Features
- Simplest parallel programming primitive to solve a problem of data races and
race conditions.
- Node.js and
worker_threads
support.
- Different optimized implementations for certain cases: single-threaded
asynchronous locks, multi-threaded locks with a single unifyed API.
Installation
$ npm install web-locks
Usage
await locks.request('Resource name', async (lock) => {
});
License
This implementation of Web Locks API is MIT licensed.