web-locks
v0.0.8
Published
Web Locks API
Downloads
30,808
Maintainers
Readme
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 => {
// use named resource and release it after return
});
License
This implementation of Web Locks API is MIT licensed.